JP4631879B2 - 符号化処理装置 - Google Patents

符号化処理装置 Download PDF

Info

Publication number
JP4631879B2
JP4631879B2 JP2007193518A JP2007193518A JP4631879B2 JP 4631879 B2 JP4631879 B2 JP 4631879B2 JP 2007193518 A JP2007193518 A JP 2007193518A JP 2007193518 A JP2007193518 A JP 2007193518A JP 4631879 B2 JP4631879 B2 JP 4631879B2
Authority
JP
Japan
Prior art keywords
information
encoded information
storage means
unit
stored
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
Application number
JP2007193518A
Other languages
English (en)
Other versions
JP2009033330A (ja
Inventor
誉之 小倉
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2007193518A priority Critical patent/JP4631879B2/ja
Priority to CN2008101347184A priority patent/CN101355702B/zh
Priority to US12/178,310 priority patent/US7663514B2/en
Publication of JP2009033330A publication Critical patent/JP2009033330A/ja
Application granted granted Critical
Publication of JP4631879B2 publication Critical patent/JP4631879B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、画像データを符号化する符号化処理装置に関するものである。
JPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)など符号化方式に準拠して画像データを符号化する符号化処理における可変長符号化処理では、可変長符号テーブルを参照することにより、ビットストリームからシンタックスを生成する。例えば、符号化された画像データの離散コサイン変換(Discrete Cosine Transform:DCT)係数を可変長符号化する処理においては、マクロブロックレベルのシンタックスに対して行う処理であるため可変長符号テーブルのサイズが大きくなり探索処理時間も膨大となる。特に、このような検索処理を汎用の演算プロセッサで実行した場合には、並列して検索処理を行うことができずキャッシュに格納した可変長符号表から順次探索するため、処理サイクル数が増大してしまう。
復号処理における可変長符号テーブルの探索時間を低減するため、特許文献1には、可変長復号処理の対象ビットストリームの先頭から連続する「1」の個数、又は「0」の個数により符号化テーブルを分割することで探索処理の高速化を図る復号処理装置が記載されている。
しかしながら、上述した特許文献1に記載された復号処理装置では、予め与えられたハフマン符号表に対して、まず対象ビットストリームの先頭から連続する「1」の個数又は「0」の個数を求め、求めた値をアドレスとして第1のテーブルを参照し、さらに参照して得られた情報を用いて第2のテーブルを参照して、可変長符号ビット列をランレングスとレベルとに対応させる処理ステップを行う必要がある。
このような処理ステップを汎用のプロセッサで行う場合には、1組のランレングスとレベルに対する処理に、例えば数十サイクルの処理時間を要する。このように、マクロブロック単位のシンタックスに従った処理においては、ランレングスとレベルに関する探索処理の占める割合が比較的大きい。このため、高解像度の画像データに対して符号化処理を行う場合、可変長符号化処理以外の処理も行う汎用的なプロセッサでは、リアルタイムで符号化処理を行うことが困難になる。
また、可変長符号化処理以外にも、符号化処理においては、中間処理段階で算出される符号化情報の入出力関係を対応付けたテーブルを検索することによって符号化情報を算出する処理工程がある。そこで、汎用的なプロセッサでは、リアルタイムに符号化処理及び復号処理を行うため、上述したような探索処理の処理時間の低減が望まれる。
特開平6―152988号公報
本発明は、このような実情に鑑みて提案されたものであり、画像データを符号化する符号化処理において、所定のテーブルを検索することによって符号化情報を算出する検索処理の処理時間を低減する符号化処理装置を提供することを目的とする。
上述した課題を解決するための手段として、本発明に係る符号化処理装置は、画像データに対して冗長度を削減する符号化処理を施した符号化データを出力する符号化処理装置であって、上記画像データに施す符号化処理において算出される第1の符号化情報と、上記第1の符号化情報の発生頻度に応じて符号長を割り当てて可変長符号化処理を施した第2の符号化情報とを記憶する第1の記憶手段と、上記第1の符号化情報及び上記第2の符号化情報の対応関係を示すテーブルを格納する第2の記憶手段と、上記第1の記憶手段に記憶された第1の符号化情報を読み出し、上記第2の記憶手段が格納するテーブルを検索することによって上記第2の符号化情報を算出して該第1の記憶手段に記憶する算術手段と、上記算術手段が過去に上記第1の記憶手段から読み出した第1の符号化情報と、該第1の符号化情報から算出した上記第2の符号化情報とを対応付けて記憶する第3の記憶手段と、上記第3の記憶手段に記憶された情報を参照して、上記算術手段により上記第1の記憶手段から読み出された第1の符号化情報と同じ情報が上記第3の記憶手段に記憶されているとき、該第1の符号化情報に対応付けられた上記第2の符号化情報を該第3の記憶手段から読み出して該第1の記憶手段に記憶する第1の制御手段と、上記算術手段が上記第1の記憶手段から読み出した第1の符号化情報から上記第2の符号化情報を算出したとき、該第1の符号化情報と該第2の符号化情報とを対応付けて上記第3の記憶手段に記憶する第2の制御手段と、上記第1の制御手段によって過去に上記第3の記憶手段から読み出された上記第2の符号化情報の履歴情報を記憶する履歴記憶手段とを備え、上記第3の記憶手段は、上記画像データの量子化値を複数の領域に分割して、各領域で発生しやすい上記第1の符号化情報をグループ分けして記憶し、上記算術手段は、上記第1の記憶手段から読み出した第1の符号化情報から算出される第2の符号化情報が上記第3の記憶手段に記憶されていないときにのみ、上記第2の記憶手段に記憶されたテーブルを検索して該第2の符号化情報を算出する処理を行い、上記履歴記憶手段は、上記履歴情報として、上記算術手段により上記第1の記憶手段から読み出された上記第1の符号化情報に対応した上記第2の符号化情報が上記第3の記憶手段から読み出された累積回数を示すヒット数と、該ヒット数を、該第2の符号化情報が該第3の記憶手段から参照された合計回数で除したヒット率とを記憶し、さらに、現在処理対象のマクロブロックの量子化値と該第3の記憶手段が記憶しているグループに係る量子化値との条件が一致しているときには、該グループの情報に対応するヒット率を1倍よりも大きくなるように設定し、上記第2の制御手段は、上記算術手段が上記第1の記憶手段から読み出した第1の符号化情報から算出した第2の符号化情報を記憶する記憶容量が上記第3の記憶手段にないとき、上記履歴記憶手段に記憶されたヒット率が最も小さい第2の符号化情報を該第3の記憶手段から削除して、該上記算術手段により算出した第2の符号化情報を記憶する。
本発明に係る符号化処理装置は、算術手段が、第1の記憶手段から読み出した第1の符号化情報から算出される第2の符号化情報が第3の記憶手段に記憶されていないときにのみ、第2の記憶手段に記憶されたテーブルを検索して第2の符号化情報を算出する処理を行うので、テーブルを直接検索することによって符号化情報を算出する処理を行う頻度を低減して第1の符号化情報から第2の符号化情報を算出する処理全体に係る処理時間を低減することができる。
また、本発明に係る符号化処理装置は、履歴記憶手段が、現在処理対象のマクロブロックの量子化値と第3の記憶手段が記憶しているグループに係る量子化値との条件が一致しているときには、グループの情報に対応するヒット率を1倍よりも大きくなるように設定することで、量子化値に応じて発生しやすい可変長符号情報を履歴記憶手段にできるだけ残しやすいようにして、算術手段による検索処理を行う頻度をより低減することができる。
本発明が適用された画像処理装置は、画像データを符号化する符号化処理、及び、符号化された画像データを復号する復号処理を行う装置である。以下では、この画像処理装置の具体例として、図1に示すような画像処理装置1を用いて、本発明を実施するための最良の形態について説明する。
画像処理装置1は、後述するような汎用性の演算プロセッサを備えるコンピュータであって、演算処理を行う演算部2と、画像データなどのデータを記憶するハードディスク3と、演算部2が演算処理を行うデータを一時的に記憶するメインメモリ4と、外部から画像データなどを入出力するためのインタフェース5とを備える。
演算部2は、画像データに対して符号化処理及び復号処理を行うためのプログラムを例えばハードディスク3からメインメモリ4に読み出して実行する。
ハードディスク3は、インタフェース5から入力され演算部2により符号化処理が施された画像データを記憶する。また、ハードディスク3は、符号化処理及び復号処理を行うためのプログラムを予め記憶している。
メインメモリ4は、演算部2が演算処理を行うデータを一時的に記憶する。
インタフェース5は、演算部2による制御命令に従って、外部から画像データを取り込んで、取り込んだ画像データをハードディスク3及びメインメモリ4に供給する。
以上のような構成からなる画像処理装置1では、デジタルカメラなどによって撮像された画像データをインタフェース5から取り込んで、取り込んだ画像データに対してJPEGやMPEG等の符号化方式に従って演算部2が符号化処理を施した符号化データをハードディスク3などに記憶する処理を行う。また、画像処理装置1では、ハードディスク3及びインタフェース5などから取り込まれる符号化された画像データに対して演算部2が復号処理を施し、復号した画像データをディスプレイなどの外部表示装置に出力する。
画像処理装置1の演算部2が行う符号化処理及び復号処理においては、例えば後述する可変長符号化及び可変長復号処理などの中間処理段階で算出される情報の入出力関係を対応付けたテーブルを検索ことによって符号化情報及び復号情報を算出する工程がある。本実施形態に係る画像処理装置1では、上述した検索処理の処理時間を低減するため、演算部2が次のような構成を有している。
すなわち、演算部2は、図2に示すように、符号化処理及び復号処理に係る演算処理を行う算術器11と、算術器11が行う命令コードを一時的に記憶する命令キャッシュ12と、算術器11で算出されたデータを一時的に記憶する汎用レジスタ13と、後述する可変長符号表などを格納するデータキャッシュ14と、データキャッシュ14のアドレスに格納されるデータを参照するための処理を行うアドレスデコーダ15とを備え、これらの各部をバス16を介して接続している。
算術器11は、汎用レジスタ13からデータを読み出して、読み出したデータに対して所定の演算処理を施し、その演算処理結果を汎用レジスタ13に記憶する。また、算術器11は、命令コードを生成して、生成した命令コードを命令キャッシュ12に一時的に記憶する。
命令キャッシュ12は、算術器11から供給される命令コードを一時的に記憶するとともに記憶した命令コードを算術器11に供給する。
汎用レジスタ13は、算術器11が演算処理を行うデータと、算術器11が演算処理を行った演算結果とを記憶する。
データキャッシュ14は、可変長符号化処理などの符号化処理や復号処理に係る中間処理段階で算出される入出力関係に係る情報をアドレス番号に従って管理したテーブルを記憶する。また、データキャッシュ14は、後述するアドレスデコーダ15によって参照されたアドレス番号の情報を読み出して算術器11に供給する。
アドレスデコーダ15は、算術器11による制御命令が示すアドレス番号にデコード処理を施し、データキャッシュ14のアドレスに記憶されたデータを読み出す処理を行う。
また、演算部2は、上述した構成によってハードディスク3などから読み出したプログラムを実行することで符号化処理及び復号処理を行うが、上述したように処理時間の低減を図るために、データメモリ部21と、比較メモリ出力制御部22と、履歴メモリ部23と、ライン選択メモリ入力制御部24とを備えている。
データメモリ部21は、複数のラインメモリからなり、各ラインメモリに、算術器11が汎用レジスタ13から入力した入力データと、この入力データに対してアドレスデコーダ15を介してデータキャッシュ14を参照することで得られる出力データとを対応付けた入出力データを記憶する。
比較メモリ出力制御部22は、データメモリ部21に記憶されている算術器11が過去に演算処理をした入力データ群と、現在この算術器11が演算処理対象としている入力データとを比較して、この比較結果に応じてデータメモリ部21に記憶されている出力データを読み出す処理を行う。
また、比較メモリ出力制御部22は、データメモリ部21に記憶されている複数の入力データと出力データとを対応付けた情報を並列して参照する。比較メモリ出力制御部22は、算術器11が現在処理している入力データを汎用レジスタ13から読み出して、この読み出した入力データと、参照した複数のラインメモリに記憶されている入力データと一致するラインが存在するかを比較する。すなわち、比較メモリ出力制御部22は、算術器11が現在処理している入力データにヒットする入出力データがデータメモリ部21に記憶されているかを判断する。
履歴メモリ部23は、比較メモリ出力制御部22による比較結果を履歴情報として記憶する。具体的に、履歴メモリ部23は、算術器11が現在処理している入力データにヒットする入出力データとして出力データが読み出された累積回数を示すヒット数と、このヒット数を参照された合計回数で除したヒット率とを、データメモリ部21に記憶された各入出力データ毎に履歴情報として記憶する。
ライン選択メモリ入力制御部24は、算術器11による演算処理に応じて、データメモリ部21に記憶されているデータを更新する。
また、演算部2は、汎用レジスタ13に加えて、算術器11によって算出される情報のうち、ユーザが定義した種類の情報を専用して管理するユーザレジスタ17を備えている。
以上のような構成を有する演算部2では、ハードディスク3などに記憶されたプログラムを読み出して、以下に示すようにして符号化処理及び復号処理を実行する。
次に、符号化処理に係る演算部2の動作について説明する。
演算部2は、例えば図3に示すようなフローチャートに従って、画像データから符号化データを生成する。以下に示す符号化処理を開始するため、演算部2は、符号化対象となる画像データをメインメモリ4などに読み出して、記憶した画像データをシンタックスに従ってマクロブロック単位に分割して管理しているものとする。
ステップS1において、演算部2は、処理対象となる画像データのマクロブロック(以下、カレントマクロブロックという。)と、この画像データの参照画像となる画像データのマクロブロック(以下、参照マクロブロックという。)を、例えばメインメモリ4から汎用レジスタ13に読み出す処理を行う。
ステップS2において、演算部2は、カレントマクロブロックと参照マクロブロックとにより、カレントマクロブロックに係る動き検出を行う。すなわち、演算部2は、カレントマクロブロックに対応する参照マクロブロックの画像探索を行い、参照マクロブロックの参照位置を確定する。
ステップS3において、演算部2は、カレントマクロブロックと、ステップS2で参照位置を確定した参照マクロブロックとにより、画素間を半分に分割した分解精度の参照位置を求めて、カレントマクロブロックに係る差分画像を生成する。また、演算部2は、この差分画像を生成する処理を行うとともに、動きベクトルに係る情報も生成する。
ステップS4において、演算部2は、ステップS3で生成された差分画像に係る情報に対してDCT処理及び量子化処理を施して、量子化されたDCT係数を生成する。
ステップS5において、演算部2は、動きベクトルなどのマクロブロックレベルのパラメータとともにステップS4で生成された量子化されたDCT係数に対して、可変長符号化処理を施す。そして、演算部2は、可変長符号化されたカレントマクロブロックレベルの符号化データを汎用レジスタ13に記憶する。
ステップS6において、演算部2は、ステップS4で生成した量子化されたDCT係数に対して逆量子化処理及び逆DCT変換処理を施す。
ステップS7において、演算部2は、次のフレーム画像を符号化する処理に用いられる参照画像データとして、ステップS6で復号されたカレントマクロブロックのデータを汎用レジスタ13に記憶する。
ステップS8において、演算部2は、ステップS1からステップS6までの処理においてカレントマクロブロックとして処理したマクロブロックが、フレーム画像を構成するマクロブロックのうち最後に位置するマクロブロックであるかを判断する。演算部2は、この判断処理で、最後に位置するマクロブロックであると判断したとき本処理を終了し、最後に位置するマクロブロックではないと判断したときステップS1に戻る。
以上の処理工程のうち、次にステップS5に係る可変長符号化処理に関する処理工程について、図4に示すようなフローチャートを参照して詳細に説明する。
図4に示すフローチャートに従った処理工程の前提として、演算部2は、ステップS4で生成したDCT係数と動きベクトルに係る情報を、ランレングスとレベルとからなるシンタックスに従った情報として汎用レジスタ13に記憶しているものとする。また、演算部2は、ランレングスとレベルとからなるシンタックスの発生頻度に応じて、サイズとコードとからなる符号長を割り当てた可変長符号表をデータキャッシュ14に格納するものとする。ここで、便宜上、ランレングスとレベルとからなるシンタックスに従った情報を第1の符号化情報とし、この第1の符号化情報から算出されるサイズとコードとからなるビットストリームを第2の符号化情報とする。
従来の可変長符号化処理では、算術器がデータキャッシュに格納されている可変長符号表を参照して第1の符号化情報に対応する第2の符号化情報を検索する。これに対して、本実施形態に係る可変長符号化処理では、次のような処理を行うことによって、過去に処理した第1の符号化情報とこの情報から算出される第2の符号化情報とを対応付けた可変長符号情報をデータメモリ部21に記憶して、以下に示す処理を行うことによって処理時間の低減を図る。
ステップS11において、演算部2では、汎用レジスタ13から、カレントマクロブロックに係る第1の符号化情報のうち、1組のランレングスとレベルとからなる第1の符号化情報を、算術器11及び比較メモリ出力制御部22に読み出す。
ステップS12において、演算部2では、比較メモリ出力制御部22が、算術器11による過去の演算結果により得られた第1の符号化情報と第2の符号化情報とを対応付けた可変長符号情報を、例えば図5に示すように、データメモリ部21における複数のラインメモリから参照する。そして、演算部2では、比較メモリ出力制御部22が、ステップS11で読み出した第1の符号化情報と、各ラインメモリに格納された可変長符号情報とを、複数ラインメモリ単位で同時並列に比較する。
ステップS13において、演算部2では、比較メモリ出力制御部22が、ステップS12による比較処理において、ステップS11で読み出した第1の符号化情報にヒットする可変長符号情報がデータメモリ部21にあるかを判断する。演算部2は、この判断処理においてヒットする可変長符号情報がデータメモリ部21にあるときステップS14に進み、この判断処理においてヒットする可変長符号情報がデータメモリ部21にないときステップS15に進む。
ステップS14において、演算部2では、比較メモリ出力制御部22が、ステップS13による比較処理においてヒットした可変長符号情報に対応する第2の符号化情報を汎用レジスタ13に記憶するとともに、履歴メモリ部23が記憶する履歴情報を次のように更新する。すなわち、履歴メモリ部23は、履歴情報のうち、本処理工程において汎用レジスタ13に記憶した第2の符号化情報に対応する可変長符号情報に関するヒット数に1を加算するとともにヒット率を更新する。そして、演算部2は、ステップS17に進む。
ステップS15において、演算部2では、算術器11が、アドレスデコーダ15を介してデータキャッシュ14に格納された可変長符号表を参照することによって、ステップS11で読み出された第1の符号化情報に対応する第2の符号化情報を探索して、探索した第2の符号化情報を汎用レジスタ13に記憶してステップS16に進む。
ステップS16において、演算部2では、ライン選択メモリ入力制御部24が、次のようにデータメモリ部21に記憶される情報の更新を行う。すなわち、ライン選択メモリ入力制御部24は、ステップS15で算術器11による探索処理で得られた第1の符号化情報と第2の符号化情報とを対応付けた可変長符号情報をデータメモリ部21に記憶する。ここでデータメモリ部21に記憶可能容量がないとき、ライン選択メモリ入力制御部24は、履歴メモリ部23に記憶された履歴情報に応じて、ヒット率が最も小さい履歴情報に対応する可変長符号情報をデータメモリ部21から消去して、ステップS15で算術器11による探索処理で得られた可変長符号情報をデータメモリ部21に記憶する。そして、演算部2は、ステップS17に進む。
ステップS17において、演算部2は、現在処理対象の第1の符号化情報が、カレントマクロブロックレベルのシンタックスに係る最後の第1の符号化情報であるかを判断する。演算部2は、この判断処理で、最後の第1の符号化情報であると判断したとき本処理工程を終了し、最後の第1の符号化情報でないと判断したときステップS18に進む。
ステップS18において、演算部2は、次に可変長符号化処理を施す第1の符号化情報を選択してステップS11に戻る。
以上のようにして、演算部2は、ステップS13において、汎用レジスタ13から読み出した第1の符号化情報から算出される第2の符号化情報がデータメモリ部21に記憶されていないと判断されたときにのみ、ステップS15において、算術器11が、データキャッシュ14に格納された可変長符号表を検索して第2の符号化情報を算出して汎用レジスタ13に記憶する。このため、演算部2は、可変長符号表を直接探索することによって第2の符号化情報を算出する処理を行う頻度を低減して、第1の符号化情報から第2の符号化情報を算出する処理全体に係る処理時間を低減することができる。
また、演算部2は、ステップS13の判断処理を介して、ステップS14とステップS15との何れか一方が行われるので、ステップS11からステップS18までの処理全体が1サイクルで実装されるので、従来に比べて可逆符号化処理で行われるサイクル数を低減することができる。
特に、ラインメモリの数が8のデータメモリ部21を用いて、自然画像を画像データとして符号化処理を行った場合、演算部2は、約50%のヒット率でステップS13を介してステップS14の処理を行うことができる。すなわち、この場合、演算部2は、従来に比べて、ステップS15に係る通常の可変長符号化処理を行う回数を約半分に低減することができる。
このようにして演算部2が探索処理工程を削減できるのは、自然画像の画像データの冗長性によって過去に処理したデータと同じデータが将来処理対象となる可能性が比較的高いからである。
また、演算部2では、処理対象となるデータの量子化値に応じて、発生頻度の高い第1の符号化情報を分類してデータメモリ部21に記憶される可変長符号情報を管理するようにしてもよい。データメモリ部21は、例えば、図6に示すように、量子化値が20より大きいときに発生しやすい第1の符号化情報を含む可変長符号情報をグループ1に割り当て、量子化値が16より大きく20以下であるときに発生しやすい第1の符号化情報を含む可変長符号情報をグループ2に割り当てて管理する。そして、履歴メモリ部23は、現在処理対象のマクロブロックの量子化値とグループに係る量子化値との条件が一致しているとき、履歴メモリ部23が記憶している履歴情報に係るヒット率を例えば2倍に設定し、現在処理対象のマクロブロックの量子化値とグループの量子化値とが一致しないとき、履歴メモリ部23が記憶している履歴情報に係るヒット率を変更しないようにする。このようにすることで、演算部2では、量子化値に応じて発生しやすい可変長符号情報をデータメモリ部21にできるだけ残しやすいようにして、ステップS13からステップS14に進む頻度を向上させることができ、算術器11による検索処理を行う頻度をより低減することで符号化処理に係る処理時間を低減することができる。
なお、演算部2は、上述した可変長符号化処理以外にも、符号化処理に係る中間処理段階で算出される情報を第1の符号化情報とし、この第1の符号化情報から算出される情報を第2の符号化情報として、これらの第1の符号化情報と第2の符号化情報とを対応付けたテーブルを探索することによって、第2の符号化情報を算出する処理工程にも上述した図4に示すようなフローチャートに従った処理を適用するようにしてもよい。
次に、復号処理に係る演算部2の動作について説明する。
演算部2は、例えば図7に示すようなフローチャートに従って、符号化された画像データを復号する。以下に示す復号処理を開始するため、演算部2には、復号処理の対象となる符号化データに係るビットストリームをマクロブロック単位で管理するようにメインメモリ4などに読み出す。
ステップS21において、演算部2は、復号対象のカレントマクロブロックのビットストリームに対して可変長復号処理を施して、量子化されたDCT係数と動きベクトルを生成する。
ステップS22において、演算部2は、ステップS21で生成した量子化されたDCT係数に対して、逆量子化処理及び逆DCT変換処理を施して、差分画像データを生成する。
ステップS23において、演算部2は、ステップS21で生成された動きベクトルに応じて、メインメモリ4などから参照画像となる画像データのマクロブロックを読み出す。
ステップS24において、演算部2は、ステップS22で生成した差分画像データと、ステップS23で読み出した参照画像となる画像データとに対して動き補償処理を施して、マクロブロックの復号画像を生成する。
ステップS24において、演算部2は、ステップS23で生成したマクロブロックの復号画像をメインメモリ4などに記憶する。
ステップS25において、演算部2は、ステップS21からステップS24までの処理においてカレントマクロブロックとして処理したマクロブロックが、フレーム画像を構成するマクロブロックのうち最後に位置するマクロブロックであるか判断する。演算部2は、この判断処理で、最後に位置するマクロブロックであると判断したとき本処理を終了し、最後に位置するマクロブロックではないと判断したときステップS21に戻る。
以上の処理工程のうち、次にステップS21に係る可変長復号処理に関する処理工程について、図8に示すようなフローチャートを参照して詳細に説明する。
図8に示すフローチャートに従った処理工程の前提として、演算部2では、汎用レジスタ13にカレントマクロブロックレベルのシンタックスに係るビットストリームが記憶されているものとする。また、演算部2では、ビットストリームを構成するサイズとコードとからなる情報を、ランレングスとレベルとからなるシンタックスに従った情報に復号するための可変長復号表をデータキャッシュ14に格納するものとする。ここで、便宜上、上述したサイズとコードとから構成される情報を第1の復号情報とし、この第1の復号情報から算出されるランレングスとレベルとからなるシンタックスに従った情報を第2の復号情報とする。
ステップS31において、演算部2では、汎用レジスタ13から、カレントマクロブロックに係る第1の復号情報のうち、1組のサイズとコードとからなる第1の復号情報を、算術器11及び比較メモリ出力制御部22に読み出す。
ステップS32において、演算部2では、比較メモリ出力制御部22が、算術器11による過去の演算処理により得られた第1の復号情報と第2の復号情報とを対応付けた可変長復号情報を、データメモリ部21における複数のラインメモリから参照する。そして、演算部2では、比較メモリ出力制御部22が、ステップS31で読み出した第1の復号情報と、各ラインメモリに格納された可変長復号情報とを、複数ラインメモリ単位で同時並列に比較する。具体的に、比較メモリ出力制御部22は、ステップS31で読み出したビットストリームからサイズ分のビットを取り出し、取り出したビット列とコードとを比較する。
ステップS33において、演算部2では、比較メモリ出力制御部22が、ステップS32による比較処理において、ステップS31で読み出した第1の復号情報にヒットする可変長復号情報がデータメモリ部21にあるかを判断する。演算部2は、この判断処理において、ヒットする可変長復号情報がデータメモリ部21にあるときステップS34に進み、この判断処理においてヒットする可変長復号情報がデータメモリ部21にないときステップS35に進む。
ステップS34において、演算部2では、比較メモリ出力制御部22が、ステップS33による比較処理においてヒットした可変長復号情報に対応する第2の復号情報を汎用レジスタ13に記憶するとともに、履歴メモリ部23が記憶する履歴情報を次のように更新する。すなわち、履歴メモリ部23は、履歴情報のうち、本処理工程において汎用レジスタ13に記憶した第2の復号情報に対応する可変長復号情報に関するヒット数に1を加算するとともにヒット率を更新する。そして、演算部2は、ステップS37に進む。
ステップS35において、演算部2では、算術器11が、アドレスデコーダ15を介してデータキャッシュ14に格納された可変長復号表を参照することによって、ステップS31で読み出された第1の復号情報に対応する第2の復号情報を探索して、探索した第2の復号情報を汎用レジスタ13に記憶してステップS36に進む。
ステップS36において、演算部2では、ライン選択メモリ入力制御部24が、次のようにデータメモリ部21に記憶される情報の更新を行う。すなわち、ライン選択メモリ入力制御部24は、ステップS35で算術器11による探索処理で得られた第1の復号情報と第2の復号情報とを対応付けた可変長復号情報をデータメモリ部21に記憶する。ここでデータメモリ部21に記憶可能容量がないとき、ライン選択メモリ入力制御部24は、履歴メモリ部23に記憶された履歴情報に応じて、ヒット率が最も小さい履歴情報に対応する可変長復号情報をデータメモリ部21から消去して、ステップS35で算術器11による探索処理で得られた可変長復号情報をデータメモリ部21に記憶する。そして、演算部2は、ステップS37に進む。
ステップS37において、演算部2は、現在処理対象の第1の復号情報が、カレントマクロブロックレベルのシンタックスに係る最後の第1の復号化情報であるかを判断する。演算部2は、この判断処理で、最後の第1の復号情報であると判断したとき本処理工程を終了し、最後の第1の復号情報でないと判断したときステップS38に進む。
ステップS38において、演算部2は、次に可変長復号処理を施す第1の復号情報を選択してステップS31に戻る。
以上のようにして、演算部2は、ステップS33において、汎用レジスタ13から読み出した第1の復号情報から算出される第2の復号情報がデータメモリ部21に記憶されていないと判断されたときにのみ、ステップS35において、算術器11が、データキャッシュ14に格納された可変長復号表を検索して第2の復号情報を算出して汎用レジスタ13に記憶する。このため、演算部2は、可変長復号表を直接探索することによって第2の復号情報を算出する処理を行う頻度を低減して、第1の復号情報から第2の復号情報を算出する処理全体に係る処理時間を低減することができる。
また、演算部2は、ステップS33の判断処理を介して、ステップS34とステップS35との何れか一方が行われるので、ステップS31からステップS38までの処理全体が1サイクルで実装されるので、従来に比べて可逆復号処理で行われるサイクル数を低減することができる。
なお、演算部2は、上述した可変長復号処理以外にも、復号処理に係る中間処理段階で算出される情報を第1の復号情報とし、この第1の復号情報から算出される情報を第2の復号情報とし、これらの第1の復号情報と第2の復号情報とを対応付けたテーブルを探索することによって第2の復号情報を算出する処理工程にも、上述した図8に示すようなフローチャートに従った処理を適用するようにしてもよい。以下では、上述した復号処理のうちステップS22で行われる逆量子化処理に適用した具体例について、図9に示すようなフローチャートを参照して詳細に説明する。
図9に示すフローチャートに従った処理工程の前提として、演算部2は、量子化された係数と量子化値とを汎用レジスタ13に画素単位で記憶しているものとする。また、以下に示す処理では、量子化された係数と量子化値とからなる1組の情報を第1の復号情報とし、逆量子化処理が施された差分画素データを第2の復号情報とする。
ステップS41において、演算部2では、処理対象となる画素に係る第1の復号情報を、汎用レジスタ13から、算術器11及び比較メモリ出力制御部22に読み出す。
ステップS42において、演算部2では、比較メモリ出力制御部22が、算術器11による過去の演算結果により得られた第1の復号情報と第2の復号情報とを対応付けた逆量子化情報を、例えば図10に示すようにデータメモリ部21における複数のラインメモリから参照する。そして、演算部2では、比較メモリ出力制御部22が、ステップS41で読み出した第1の復号情報と、各ラインメモリに格納された逆量子化情報とを複数ラインメモリ単位で同時並列に比較する。
ステップS43において、演算部2では、比較メモリ出力制御部22が、ステップS42による比較処理において、ステップS41で読み出した第1の復号情報にヒットする逆量子化情報がデータメモリ部21にあるかを判断する。演算部2は、この判断処理において、ヒットする逆量子化情報がデータメモリ部21にあるときステップS44に進み、この判断処理においてヒットする可変長符号情報がデータメモリ部21にないときステップS45に進む。
ステップS44において、演算部2では、比較メモリ出力制御部22が、ステップS43による比較処理においてヒットした逆量子化情報に対応する第2の復号情報を汎用レジスタ13に記憶するとともに、履歴メモリ部23が記憶する履歴情報を次のように更新する。すなわち、履歴メモリ部23は、履歴情報のうち、本処理工程において汎用レジスタ13に記憶した第2の復号情報に対応する逆量子化情報に関するヒット数に1を加算するとともにヒット率を更新する。そして、演算部2は、ステップS47に進む。
ステップS45において、演算部2では、算術器11が、ステップS41で読み出された第1の復号情報から、下記式により第2の復号情報を算出して汎用レジスタ13に記憶してステップS46に進む。
F=(((QF×2)+Sign(QF))×QS)/32
ここで、QFは、第1の復号情報に含まれる量子化された係数である。また、QSは、第1の復号情報に含まれる量子化値である。また、Fは、逆量子化された差分画素データである。
ステップS46において、演算部2では、ライン選択メモリ入力制御部24が、ステップS45で算術器11による算出処理で得られた第1の復号情報と第2の復号情報とを対応付けた逆量子化情報をデータメモリ部21に記憶する。ここでデータメモリ部21に記憶可能容量がないとき、ライン選択メモリ入力制御部24は、履歴メモリ部23に記憶された履歴情報に応じて、ヒット率が最も小さい履歴情報に対応する可変長符号情報をデータメモリ部21から消去して、ステップS45で算術器11による算出処理で得られた逆量子化情報をデータメモリ部21に記憶する。そして、演算部2は、ステップS47に進む。
ステップS47において、演算部2は、現在処理対象の第1の復号情報が、フレーム画像を構成する最後に位置する画素に係る第1の復号情報であるかを判断する。演算部2は、この判断処理で、最後の第1の復号情報であると判断したとき本処理工程を終了し、最後の第1の復号情報でないと判断したときステップS48に進む。
ステップS48において、演算部2は、次に逆量子化処理を施す第1の復号情報を選択してステップS41に戻る。
以上のようにして、演算部2は、ステップS43において、汎用レジスタ13から読み出した第1の復号情報から算出される第2の復号情報がデータメモリ部21に記憶されていないと判断されたときにのみ、ステップS45において、算術器11が、第1の復号情報から第2の復号情報を算出して汎用レジスタ13に記憶する。このため、演算部2は量子化された係数と量子化値とに対応する差分画素データを算出するステップS45に係る算出処理工程を行う頻度を低減して、逆量子化処理全体に係る処理時間を削減することができる。
なお、本発明は、以上の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。
画像処理装置の全体構成を示すブロック図である。 演算部の全体構成を示すブロック図である。 符号化処理の処理工程の説明に供するフローチャートである。 可変長符号化処理の処理工程の説明に供するフローチャートである。 データメモリ部に記憶される可変長符号情報を示す図である。 データメモリ部に記憶される可変長符号情報を示す図である。 復号処理の処理工程の説明に供するフローチャートである。 可変長復号処理の処理工程の説明に供するフローチャートである。 逆量子化処理の処理工程の説明に供するフローチャートである。 逆量子化処理時においてデータメモリ部に記憶される入出力情報を示す図である。
符号の説明
1 画像処理装置、2 演算部、3 ハードディスク、4 メインメモリ、5 インタフェース、11 算術器、12 命令キャッシュ、13 汎用レジスタ、14 データキャッシュ、15 アドレスデコーダ、16 バス、17 ユーザレジスタ、21 データメモリ部、22 比較メモリ出力制御部、23 履歴メモリ部、24 ライン選択メモリ入力制御部

Claims (1)

  1. 画像データに対して冗長度を削減する符号化処理を施した符号化データを出力する符号化処理装置において、
    上記画像データに施す符号化処理において算出される第1の符号化情報と、上記第1の符号化情報の発生頻度に応じて符号長を割り当てて可変長符号化処理を施した第2の符号化情報とを記憶する第1の記憶手段と、
    上記第1の符号化情報及び上記第2の符号化情報の対応関係を示すテーブルを格納する第2の記憶手段と、
    上記第1の記憶手段に記憶された第1の符号化情報を読み出し、上記第2の記憶手段が格納するテーブルを検索することによって上記第2の符号化情報を算出して該第1の記憶手段に記憶する算術手段と、
    上記算術手段が過去に上記第1の記憶手段から読み出した第1の符号化情報と、該第1の符号化情報から算出した上記第2の符号化情報とを対応付けて記憶する第3の記憶手段と、
    上記第3の記憶手段に記憶された情報を参照して、上記算術手段により上記第1の記憶手段から読み出された第1の符号化情報と同じ情報が上記第3の記憶手段に記憶されているとき、該第1の符号化情報に対応付けられた上記第2の符号化情報を該第3の記憶手段から読み出して該第1の記憶手段に記憶する第1の制御手段と、
    上記算術手段が上記第1の記憶手段から読み出した第1の符号化情報から上記第2の符号化情報を算出したとき、該第1の符号化情報と該第2の符号化情報とを対応付けて上記第3の記憶手段に記憶する第2の制御手段と、
    上記第1の制御手段によって過去に上記第3の記憶手段から読み出された上記第2の符号化情報の履歴情報を記憶する履歴記憶手段とを備え、
    上記第3の記憶手段は、上記画像データの量子化値を複数の領域に分割して、各領域で発生しやすい上記第1の符号化情報をグループ分けして記憶し、
    上記算術手段は、上記第1の記憶手段から読み出した第1の符号化情報から算出される第2の符号化情報が上記第3の記憶手段に記憶されていないときにのみ、上記第2の記憶手段に記憶されたテーブルを検索して該第2の符号化情報を算出する処理を行い、
    上記履歴記憶手段は、上記履歴情報として、上記算術手段により上記第1の記憶手段から読み出された上記第1の符号化情報に対応した上記第2の符号化情報が上記第3の記憶手段から読み出された累積回数を示すヒット数と、該ヒット数を、該第2の符号化情報が該第3の記憶手段から参照された合計回数で除したヒット率とを記憶し、さらに、現在処理対象のマクロブロックの量子化値と該第3の記憶手段が記憶しているグループに係る量子化値との条件が一致しているときには、該グループの情報に対応するヒット率を1倍よりも大きくなるように設定し、
    上記第2の制御手段は、上記算術手段が上記第1の記憶手段から読み出した第1の符号化情報から算出した第2の符号化情報を記憶する記憶容量が上記第3の記憶手段にないとき、上記履歴記憶手段に記憶されたヒット率が最も小さい第2の符号化情報を該第3の記憶手段から削除して、上記算術手段により算出した第2の符号化情報を記憶する符号化処理装置。
JP2007193518A 2007-07-25 2007-07-25 符号化処理装置 Expired - Fee Related JP4631879B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007193518A JP4631879B2 (ja) 2007-07-25 2007-07-25 符号化処理装置
CN2008101347184A CN101355702B (zh) 2007-07-25 2008-07-23 编码处理设备和解码处理设备
US12/178,310 US7663514B2 (en) 2007-07-25 2008-07-23 Encoding processing apparatus and decoding processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007193518A JP4631879B2 (ja) 2007-07-25 2007-07-25 符号化処理装置

Publications (2)

Publication Number Publication Date
JP2009033330A JP2009033330A (ja) 2009-02-12
JP4631879B2 true JP4631879B2 (ja) 2011-02-16

Family

ID=40294817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007193518A Expired - Fee Related JP4631879B2 (ja) 2007-07-25 2007-07-25 符号化処理装置

Country Status (3)

Country Link
US (1) US7663514B2 (ja)
JP (1) JP4631879B2 (ja)
CN (1) CN101355702B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11148165B2 (en) * 2016-02-17 2021-10-19 Wet Water on wall display

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185548A (ja) * 1995-12-28 1997-07-15 Sony Corp キャッシュメモリ制御方法、可変長符号化方法、および可変長復号化方法
JP2007043674A (ja) * 2005-07-05 2007-02-15 Matsushita Electric Ind Co Ltd 可変長復号方法及び装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999715A (en) * 1989-12-01 1991-03-12 Eastman Kodak Company Dual processor image compressor/expander
JPH06152988A (ja) 1992-11-02 1994-05-31 Sharp Corp 可変長符号の復号化装置
US7263127B1 (en) * 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
US8139877B2 (en) * 2006-03-09 2012-03-20 Pioneer Corporation Image processing apparatus, image processing method, and computer-readable recording medium including shot generation
JP5003421B2 (ja) * 2007-11-14 2012-08-15 ソニー株式会社 画像処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185548A (ja) * 1995-12-28 1997-07-15 Sony Corp キャッシュメモリ制御方法、可変長符号化方法、および可変長復号化方法
JP2007043674A (ja) * 2005-07-05 2007-02-15 Matsushita Electric Ind Co Ltd 可変長復号方法及び装置

Also Published As

Publication number Publication date
US20090027240A1 (en) 2009-01-29
CN101355702B (zh) 2011-06-22
US7663514B2 (en) 2010-02-16
JP2009033330A (ja) 2009-02-12
CN101355702A (zh) 2009-01-28

Similar Documents

Publication Publication Date Title
CN107846597B (zh) 用于视频解码器的数据缓存方法和装置
US20070110158A1 (en) Encoding apparatus, encoding method, decoding apparatus, and decoding method
JPH05115061A (ja) 動きベクトル符号器および復号器
JP2005303984A (ja) 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
KR100800772B1 (ko) 움직임 벡터 부호화 장치, 방법, 프로그램 및 매체
KR20070028404A (ko) 픽처를 저장하는 방법, 비디오 복호기, 비디오 부호기,휴대 장치 및 컴퓨터 프로그램 제품
JP4227067B2 (ja) 動画像符号化方法と装置及びプログラム
JP2004336451A (ja) 画像復号ユニットとそれを用いた画像符号化装置及び符号化方法並びに画像復号装置及び復号方法
JP2022103284A (ja) 映像符号化装置、映像復号装置、及びこれらのプログラム
JP2005151391A (ja) 動画像符号化方法、動画像符号化装置およびプログラム
JP4631879B2 (ja) 符号化処理装置
CN1848960B (zh) 使用非标准化矢量量化编码器的符合视频标准的残差编码
JP4455199B2 (ja) 適応型可変長符号化装置、適応型可変長復号化装置、適応型可変長符号化・復号化方法、及び適応型可変長符号化・復号化プログラム
JP2007267123A (ja) 動画像符号化装置
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
JP3491001B1 (ja) 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び、信号復号プログラム
JP5848620B2 (ja) 画像符号化装置、方法、及びプログラム
JP4583514B2 (ja) 動画像符号化装置
US6961381B2 (en) Picture decoding device
US20140029669A1 (en) Method and device for encoding video
JPH10164596A (ja) 動き検出装置
JP2012120108A (ja) 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム
JP6738091B2 (ja) 動画データの圧縮装置、動画データの圧縮方法
JP3902987B2 (ja) 画像符号化装置、画像符号化方法、プログラム、及び記憶媒体
JP4447903B2 (ja) 信号処理装置、信号処理方法、記録媒体及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

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: 20101019

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: 20101101

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees