JP4423820B2 - Image processing apparatus and method, program, and recording medium - Google Patents
Image processing apparatus and method, program, and recording medium Download PDFInfo
- Publication number
- JP4423820B2 JP4423820B2 JP2001195192A JP2001195192A JP4423820B2 JP 4423820 B2 JP4423820 B2 JP 4423820B2 JP 2001195192 A JP2001195192 A JP 2001195192A JP 2001195192 A JP2001195192 A JP 2001195192A JP 4423820 B2 JP4423820 B2 JP 4423820B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- information
- modules
- image processing
- work
- 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
【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び方法、並びにプログラム及び記録媒体に関し、詳しくは、画像情報を符号化及び/又は復号化する際に好適な画像処理装置及び方法、並びにプログラム及び記録媒体に関する。
【0002】
【従来の技術】
近年、画像情報は、デジタルとして取り扱われる際に、効率の高い情報の伝送及び蓄積を目的として、MPEG(Moving Picture Experts Group)形式等による圧縮によって、画像圧縮情報として用いられることが多い。
【0003】
このとき、画像情報を符号化する処理、画像圧縮情報を復号化する処理、さらには復号化と符号化とを行って画像圧縮情報を変換する処理には、ハードエンコーダ、ハードデコーダが用いられる場合と、ソフトエンコーダ、ソフトデコーダが用いられる場合とがある。
【0004】
【発明が解決しようとする課題】
ところで、上述のMPEG形式には、現在、MPEG1、MPEG2及びMPEG4等が用いられているが、上述のハードエンコーダ、ハードデコーダは、1種類の圧縮形式しか対応しないものが主であり、複数種類の圧縮形式に対応するためには、多くのIC(Integrated Circuit)が組み合わされた回路を必要としなければならない。これは、回路規模が大きくなり、コストが高くなるという問題点となる。
【0005】
また、上述のソフトエンコーダ、ソフトデコーダには、処理速度が速い高性能CPU(Central processing Unit)又は複数の汎用CPUが使用される必要がある。しかしながら、高性能CPUは、価格が高いという問題点がある。また、複数の汎用CPUを使用した場合には、コストが高く、消費電力が多く、さらに複数の汎用CPUを収容するスペースが必要となるという問題点がある。なお、上述の高性能CPU及び汎用CPUには、VLIW(Very Long Instruction Word)方式に対応したCPUも含まれるものとする。
【0006】
そこで、本発明は、上述の実情に鑑みて提案されたものであり、汎用CPUを用いて複数種類の圧縮形式に対応した処理を行うことができる画像処理装置及び方法、並びにプログラム及び記録媒体を提供することを目的としている。
【0007】
【課題を解決するための手段】
本発明に係る画像処理装置は、上述の問題点を解決するために、複数の画像処理形式の画像情報を符号化及び/又は復号化するための処理ユニットを構成する各部の機能にそれぞれ対応する複数のモジュールと、上記複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段と、上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成手段と、上記複数のコマンドディスクリプタが記憶される記憶手段と、上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御手段とを備え、上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている。
【0008】
この画像処理装置は、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備え、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを記憶手段に作成し、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことにより、複数のモジュールの間で作業の受け渡しを行うことができる。
【0009】
本発明に係る画像処理方法は、上述の問題点を解決するために、複数の画像処理形式の画像情報を符号化及び/又は復号化するための処理ユニットを構成する各部の機能にそれぞれ対応する複数のモジュールと、上記複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段と、コマンドディスクリプタを記憶するための記憶手段とを備える画像処理装置の画像処理方法において、上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、上記複数のコマンドディスクリプタを上記記憶手段に記憶させる記憶制御工程と、上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを有し、上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている。
【0010】
この画像処理方法では、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備える画像処理装置の画像処理方法において、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成し、記憶手段に記憶させ、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことにより、複数のモジュールの間で作業の受け渡しを行うことができる。
【0011】
本発明に係るプログラムは、上述の問題点を解決するために、複数の画像処理形式の画像情報を符号化及び/又は復号化するための処理ユニットを構成する各部の機能にそれぞれ対応する複数のモジュールと、上記複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段と、コマンドディスクリプタを記憶するための記憶手段とを備える画像処理装置に、上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、上記複数のコマンドディスクリプタを記憶手段に記憶させる記憶制御工程と、上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを含む処理を実行させ、上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている。
【0012】
このプログラムは、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備える画像処理装置に、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成し、記憶手段に記憶させ、記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込む処理を実行させることにより、複数のモジュールの間で作業の受け渡しを行わせる。
【0013】
本発明に係る記録媒体は、上述の問題点を解決するために、複数の画像処理形式の画像情報を符号化及び/又は復号化するための処理ユニットを構成する各部の機能にそれぞれ対応する複数のモジュールと、上記複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段と、コマンドディスクリプタを記憶するための記憶手段とを備える画像処理装置に、上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、上記複数のコマンドディスクリプタを記憶手段に記憶させる記憶制御工程と、上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを含む処理を実行させるプログラムが記録された記録媒体であって、上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている。
【0014】
この記録媒体は、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備える画像処理装置に、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成し、記憶手段に記憶させ、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込む処理を実行させるプログラムが記録されていることにより、複数のモジュールの間で作業の受け渡しを行わせる。
【0015】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。本発明の実施の形態として示すトランスコーダは、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数の処理モジュールと、複数の処理モジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段としてのJob Queue FIFO(以下、単にFIFO:First-in First-Outと記す)と、複数の画像処理形式に応じて複数の処理モジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成手段としての作成機能部と、複数のコマンドディスクリプタが記憶される記憶手段としてのRAM(Random Access Memory)と、記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行する処理モジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御手段としての制御機能部とを備えるものである。
【0016】
まず、本発明の実施の形態に係るトランスコーダ1の概略構成について図1を用いて説明する。トランスコーダ1を構成する各部は、モジュール化されており、トランスコーダ1全体の動作を制御する制御ユニット11と、エンコード、デコード、トランスコード、解像度変換(スケーリング)、フレームレート変換、ビットレート変換等の処理を行う処理ユニット12と、情報が記憶されるメモリユニット13と、画像情報及びMPEG(Moving Picture Experts Group)形式で圧縮された画像圧縮情報(以下、MPEG画像圧縮情報と記す)を入出力する入出力ユニット14とに分類される。
【0017】
ここで、上述のMPEG画像圧縮情報は、例えばMPEG1、MPEG2 HD(High Definition)、MPEG2 SD(StanDard)、MPEG4形式等で圧縮されたMPEG画像圧縮情報のことである。
【0018】
制御ユニット11は、CPU21と、CPU21が接続されるCPUインターフェース22と、図示しないホストコンピュータが接続されるホストインターフェース23と、図示しない外部ROM(Read Only Memory)が接続される外部ROMインターフェース24と、後述するアドレスを分類するジョブスプリッタ25とからなる。
【0019】
処理ユニット12は、画像情報の動きベクトルを検出する動き推定部26と、画像情報を離散コサイン変換と量子化する離散コサイン変換+量子化部27と、画像情報を可変長符号化する可変長符号化部28と、MPEG画像圧縮情報を可変長復号化する可変長復号化部29と、MPEG画像圧縮情報を逆離散コサイン変換と逆量子化する逆量子化+逆離散コサイン変換部30と、動きベクトルを用いて画像情報の動き予測を行う動き補償部31と、MPEG画像圧縮情報の解像度を変換する解像度変換部32と、アドレスを先入れ先出しするFIFO33a〜33gとからなる。
【0020】
以下、本明細書では、動き推定部26、離散コサイン変換+量子化部27、可変長符号化部28、可変長復号化部29、逆量子化+逆離散コサイン変換部30、動き補償部31及び解像度変換部32を個々に区別する必要がない場合は、まとめて処理モジュール26〜32と記すことにする。
【0021】
メモリユニット13は、情報の蓄積や展開等に使用されるRAM34と、RAM34を制御するRAMコントローラ35とからなる。
【0022】
入出力ユニット14は、画像情報を入力するビデオイン36と、MPEG画像圧縮情報を入力する圧縮ビデオイン37と、画像情報を出力するビデオアウト38と、MPEG画像圧縮情報を出力する圧縮ビデオアウト39とからなる。
【0023】
次に、上述の各部の機能を説明する。まず、制御ユニット11を構成する各部の機能を説明する。CPU21は、CPU21が実行する機能ブロックとして、各部の動作等を制御する制御機能部21aと、詳細は図2を用いて後述するが、処理モジュール26〜32が実行する一連の作業に関する複数のコマンドディスクリプタを作成する作成機能部21bとを有する。CPUインターフェース22は、CPU21を内部バスに接続するための接続機器である。ホストインターフェース23は、ホストコンピュータを内部バスに接続するための接続機器である。外部ROMインターフェース24は、外部ROMを内部バスに接続するための接続機器である。ジョブスプリッタ25は、内部バスを介して受信したアドレスを分類し、FIFO33a〜33gへ送信する。
【0024】
続いて、処理ユニット12を構成する各部の機能を説明する。動き推定部26は、画像情報の動きベクトルを検出し、内部バスへ出力する。離散コサイン変換+量子化部27は、画像情報を離散コサイン変換と量子化し、内部バスへ出力する。可変長符号化部28は、画像情報を可変長符号化し、内部バスへ出力する。可変長復号化部29は、MPEG画像圧縮情報を可変長復号化し、内部バスへ出力する。逆量子化+逆離散コサイン変換部30は、MPEG画像圧縮情報を逆離散コサイン変換と逆量子化し、内部バスへ出力する。動き補償部31は、動きベクトルを用いて画像情報の動き予測を行い、内部バスへ出力する。解像度変換部32は、MPEG画像圧縮情報の解像度を変換し、内部バスへ出力する。FIFO33a〜33gは、ジョブスプリッタ25から送信されたアドレスを一時的に記憶し、先入れ先出し方式により一時的に記憶したアドレスを送出する素子であり、それぞれ処理モジュール26〜32に接続している。
【0025】
また、メモリユニット13を構成する各部の機能を説明する。RAM34は、共有メモリとされる高速な内蔵DRAM(Dynamic Random Access Memory)であり、詳細は図2を用いて後述するが、複数のコマンドディスクリプタが記憶される。RAMコントローラ35は、RAM34を制御して、RAM34に記憶されているアドレス等の情報を読み書きする。
【0026】
また、入出力ユニット14を構成する各部の機能を説明する。ビデオイン36は、画像情報を入力し、内部バスへ出力する。圧縮ビデオイン37は、MPEG画像圧縮情報を入力し、内部バスへ出力する。ビデオアウト38は、内部バスからの画像情報を出力する。圧縮ビデオアウト39は、内部バスからのMPEG画像圧縮情報を出力する。
【0027】
このように構成されたトランスコード1は、処理モジュール26〜32が複数のコマンドディスクリプタに基づいて一連の作業を行うことによって、エンコード、デコード、トランスコード、解像度変換、フレームレート変換、ビットレート変換等の複数の処理を行う。
【0028】
ここで、トランスコーダ1がコマンドディスクリプタを用いないでトランスコードを行った場合のCPU21の割り込み回数について説明する。
【0029】
トランスコーダ1が圧縮ビデオイン37に入力した1つのMPEG画像圧縮情報をトランスコードする場合、CPU21の機能ブロックとされる制御機能部21aは、処理モジュール26〜32がMPEG画像圧縮情報の基本単位とされるフレーム単位で作業を実行するようにスケジューリングする。これにより、処理モジュール26〜32は、スケジューリングに沿って作業を実行し、MPEG画像圧縮情報をデコード、解像度変換及びエンコードして、より少ない割り当て符号量を有するMPEG画像圧縮情報へとトランスコードする。
【0030】
一方、トランスコーダ1が圧縮ビデオイン37に入力した複数の異なるフレームレートを有するMPEG画像圧縮情報を同時にトランスコードする場合、上述のフレーム単位のスケジューリングでは、処理モジュール26〜32のうちの各モジュールが実行する作業が重複してしまう。これにより、制御機能部21aは、処理モジュール26〜32が確実に作業を実行するようにスケジューリングすることが困難となる。そこで、制御機能部21aは、フレーム単位ではなく、より小さな単位であるスライス単位で処理モジュール26〜32をスケジューリングする必要がある。
【0031】
しかしながら、制御機能部21aがスライス単位で処理モジュール26〜32をスケジューリングすると、制御機能部21aの割り込み回数が膨大な数となる。例えば、30fpsのフレームレート、1フレーム当たり30スライスとされる720×480の標準解像度を有する2つのMPEG画像圧縮情報を、トランスコーダ1がデコード、解像度変換及びエンコードする場合、処理モジュール26〜32は7つなので、制御機能部21aの割り込み回数は、式(1)に示す値となる。
【0032】
【数1】
そこで、トランスコーダ1は、CPU21の割り込み回数を減少させるために、コマンドディスクリプタを用いる。
【0033】
続いて、コマンドディスクリプタについて説明をする。CPU21の機能ブロックとされる作成機能部21bは、ビデオイン36に画像情報が入力したとき、又は圧縮ビデオイン37にMPEG画像圧縮情報が入力したときに、処理モジュール26〜32が実行する一連の作業に関する複数のコマンドディスクリプタをRAM34に作成する。
【0034】
上述の複数のコマンドディスクリプタの一例として、コマンドディスクリプタ50を図2に示す。処理モジュール26〜32のうちの離散コサイン変換+量子化部27が、このコマンドディスクリプタ50に基づいて作業を実行するものとする。
【0035】
コマンドディスクリプタ50は、コマンドコード51、割込みフラグ52、パラメータ53、ネクスト処理モジュール541、ネクストアドレスポインタ551、ネクスト処理モジュール542及びネクストアドレスポインタ552から構成される。
【0036】
コマンドコード51には、離散コサイン変換+量子化部27が実行する作業内容を指定する記述がなされている。割込みフラグ52には、制御機能部21aが割り込みをするか否かを指定するフラグが記述されている。パラメータ53には、離散コサイン変換+量子化部27が実行する作業に応じて必要な引数が記述されている。ネクスト処理モジュール541には、離散コサイン変換+量子化部27の作業結果を用いて、次に作業を実行する可変長符号化部28を指定する記述がなされている。ネクストアドレスポインタ551には、可変長符号化部28が実行するコマンドディスクリプタが記憶されているRAM34内の領域を指定するアドレスが記述されている。ネクスト処理モジュール542には、離散コサイン変換+量子化部27の作業結果を用いて、次に作業を実行する逆量子化+逆離散コサイン変換部30を指定する記述がなされている。ネクストアドレスポインタ552には、逆量子化+逆離散コサイン変換部30が実行するコマンドディスクリプタが記憶されているRAM34内の領域を指定するアドレスが記述されている。
【0037】
次に、離散コサイン変換+量子化部27が上述のコマンドディスクリプタ50に基づいて作業を実行する動作について、図3に示すフローチャートを用いて説明する。
【0038】
ステップS1において、離散コサイン変換+量子化部27は、接続されているFIFO33bが空であるか否かを判断する。FIFO33bが空である場合、離散コサイン変換+量子化部27は、FIFO33bにアドレスが書き込まれるまで待機する。一方、FIFO33bが空ではなくアドレスが書き込まれている場合、ステップS2へ進んで処理が行われる。
【0039】
ステップS2において、離散コサイン変換+量子化部27は、FIFO33bからアドレスを1個読み込む。ステップS3において、離散コサイン変換+量子化部27は、アドレスが指定するRAM34内の領域からコマンドディスクリプタ50を読む。ステップS4において、離散コサイン変換+量子化部27は、コマンドディスクリプタ50のコマンドコード51及びパラメータ53が指定する作業を実行する。
【0040】
ステップS5において、離散コサイン変換+量子化部27は、実行した作業が終了したか否を判断する。作業が終了していない場合、離散コサイン変換+量子化部27は、上述のステップS4に戻って引き続き作業を実行する。一方、作業が終了した場合、ステップS6へ進んで処理が行われる。
【0041】
ステップS6において、離散コサイン変換+量子化部27は、コマンドディスクリプタ50の割込みフラグ52が“1”であるか否か、すなわち割込み制御ビットが“1”であるか否かを判断する。割込みフラグ52が“1”である場合、ステップS7へ進んで処理が行われる。一方、割込みフラグ52が“1”でない場合、ステップS8へ進んで処理が行われる。
【0042】
ステップS7において、詳細は図5を用いて説明するが、制御機能部21aは、割り込み処理を行う。
【0043】
ステップS8において、離散コサイン変換+量子化部27は、コマンドディスクリプタ50のネクスト処理モジュール541の値を確認し、“0”であるか否かを判断する。ネクスト処理モジュール541が“0”である場合、離散コサイン変換+量子化部27は、作業を終了し、上述のステップS1に戻ってFIFO33bが空であるか否かを判断する。一方、ネクスト処理モジュール541が“0”でない場合、ステップS9へ進んで処理が行われる。
【0044】
ステップS9において、離散コサイン変換+量子化部27は、ジョブスプリッタ25を介して、ネクスト処理モジュール541が指定する可変長符号化部28に接続されているFIFO33cに、ネクストアドレスポインタ551のアドレスを書き込み、作業の受け渡しを行う。
【0045】
ステップS10において、離散コサイン変換+量子化部27は、ネクスト処理モジュール542の値を確認し、“0”であるか否かを判断する。ネクスト処理モジュール542が“0”である場合、離散コサイン変換+量子化部27は、上述のステップS1に戻ってFIFO33bが空であるか否かを判断する。一方、ネクスト処理モジュール542が“0”でない場合、ステップS11へ進んで処理が行われる。
【0046】
ステップS11において、離散コサイン変換+量子化部27は、ジョブスプリッタ25を介して、ネクスト処理モジュール542が指定する逆量子化+逆離散コサイン変換部30に接続されているFIFO33eに、ネクストアドレスポインタ552のアドレスを書き込み、作業の受け渡しを行う。
【0047】
離散コサイン変換+量子化部27は、上述の処理を行って、制御機能部21aの介在無しに可変長符号化部28と逆量子化+逆離散コサイン変換部30とに作業の受け渡しを行い、その後、ステップS1に戻って処理を続ける。
【0048】
次に、制御機能部21aと作成機能部21bとを有するCPU21の制御動作について説明する。CPU21の制御動作は、CPU21の割り込み発生時とそれ以外との場合に分かれるので、まず、CPU21の割り込み発生時以外におけるCPU21の制御動作について、図4に示すフローチャートを用いて説明する。
【0049】
ステップS21において、制御機能部21aは、ホストインターフェース23に接続されたホストコンピュータから送信される設定コマンドを受信したか否かを判断する。受信した場合に、ステップS22へ進んで処理が行われる。一方、設定コマンドを受信しなかった場合、ステップS23へ進んで処理が行われる。
【0050】
ステップS22において、制御機能部21aは、受信した設定コマンドを基に設定作業を行う。
【0051】
ステップS23において、制御機能部21aは、ビデオイン36に画像情報(画像フレーム)が入力したか、又はデコードされた画像情報(被デコードフレーム)が完成したかを判断する。画像情報が入力した、又はデコードされている画像情報が完成した場合、ステップS24へ進んで処理が行われる。一方、画像情報が入力していない、又はデコードされた画像情報が完成していない場合、ステップS26へ進んで処理が行われる。
【0052】
ステップS24において、作成機能部21bは、画像情報の最初の1〜数スライス分をエンコードするための複数のコマンドディスクリプタをRAM34に作成する。ステップS25において、制御機能部21aは、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタのアドレスを、処理モジュール26〜32のうちの最初のコマンドディスクリプタを実行する処理モジュールに接続されているFIFOに書き込む。
【0053】
ステップS26において、制御機能部21aは、圧縮ビデオイン37にMPEG画像圧縮画像が入力したか否かを判断する。圧縮ビデオイン37にMPEG画像圧縮画像が入力しなかった場合、制御機能部21aは、上述のステップS21に戻って、ホストコンピュータから送信される設定コマンドを受信したか否かを判断する。一方、圧縮ビデオイン37にMPEG画像圧縮画像が入力した場合、ステップS27へ進んで処理が行われる。
【0054】
ステップS27において、制御機能部21aは、MPEG画像圧縮画像をスキャンする。ステップS28において、作成機能部21bは、MPEG画像圧縮画像をデコードするための複数のコマンドディスクリプタをRAM34に作成する。ステップS29において、制御機能部21aは、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタのアドレスを、処理モジュール26〜32のうちの最初のコマンドディスクリプタを実行する処理モジュールに接続されているFIFOに書き込む。
【0055】
CPU21は、上述の処理を終了した後に、ステップS21に戻って、処理を続ける。
【0056】
次に、CPU21の割り込み発生時におけるCPU21の制御動作について、図5に示すフローチャートを用いて説明する。図3のステップS6に示すように、コマンドディスクリプタ50のコマンドコード51及びパラメータ53が指定する作業が終了したあとに、割込みフラグ52が“1”である場合に、割り込みが発生する。
【0057】
ステップS41において、制御機能部21aは、画像情報をエンコードするためのコマンドディスクリプタの処理が終了しているか否かを判断する。コマンドディスクリプタの処理が終了している場合、ステップS42へ進んで処理が行われる。一方、コマンドディスクリプタの処理が終了していない場合、ステップS46へ進んで処理が行われる。
【0058】
ステップS42において、割り込みが発生する以前までの画像情報が、MPEG画像圧縮情報に合成される。
【0059】
ステップS43において、制御機能部21aは、画像情報の全てのスライスに対するエンコードが終了しているか否かを判断する。全てのスライスに対するエンコードが終了していない場合、ステップS44へ進んで処理が行われる。一方、全てのスライスに対するエンコードが終了している場合、ステップS46へ進んで処理が行われる。
【0060】
ステップS44において、作成機能部21bは、次の1〜数スライス分をエンコードするための複数のコマンドディスクリプタをRAM34に作成する。ステップS45において、制御機能部21aは、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタのアドレスを、処理モジュール26〜32のうちの最初のコマンドディスクリプタを実行する処理モジュールに接続されているFIFOに書き込む。
【0061】
ステップS46において、制御機能部21aは、MPEG画像圧縮情報をデコードするためのコマンドディスクリプタの処理が終了しているか否かを判断する。コマンドディスクリプタの処理が終了している場合、ステップS47へ進んで処理が行われる。一方、コマンドディスクリプタの処理が終了していない場合、制御機能部21aは、割り込み処理を終了する。
【0062】
ステップS47において、割り込みが発生する以前までのMPEG画像圧縮情報が、画像情報に合成される。
【0063】
ステップS48において、制御機能部21aは、圧縮ビデオイン37に次のMPEG画像圧縮画像が入力したか否かを判断する。圧縮ビデオイン37に次のMPEG画像圧縮画像が入力しなかった場合、制御機能部21aは、割り込み処理を終了する。一方、圧縮ビデオイン37に次のMPEG画像圧縮画像が入力した場合、ステップS49へ進んで処理が行われる。
【0064】
ステップS49において、制御機能部21aは、MPEG画像圧縮画像をスキャンする。ステップS50において、作成機能部21bは、MPEG画像圧縮画像をデコードするための複数のコマンドディスクリプタをRAM34に作成する。ステップS51において、制御機能部21aは、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタのアドレスを、処理モジュール26〜32のうちの最初のコマンドディスクリプタを実行する処理モジュールに接続されているFIFOに書き込み、割り込み処理を終了する。
【0065】
以上、詳細に説明したように、本発明の実施の形態に係るトランスコーダ1は、作成機能部21bが作成した複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタのアドレスを、制御機能部21aが処理モジュール26〜32のうちの最初のコマンドディスクリプタを実行する処理モジュールに接続されているFIFOに書き込み、処理モジュール26〜32が複数のコマンドディスクリプタに基づいて一連の作業を実行することにより、処理モジュール26〜32の間で作業の受け渡しを行うことができる。
【0066】
これにより、トランスコーダ1は、CPU21の割り込み回数を減らすことができ、CPU21の負荷率を下げることができるので、複数のMPEG画像圧縮情報を同時に処理することができる。
【0067】
また、トランスコーダ1は、複数のコマンドディスクリプタに基づいて処理モジュール26〜32が一連の作業を実行することにより、複数種類の圧縮形式に対応することができるので、従来の1種類の圧縮形式しか対応できないハードエンコーダ及びハードデコーダと比べて、高い柔軟性と多機能性とを有している。
【0068】
さらに、トランスコーダ1は、CPU21の負荷率を下げることができるので、高性能CPUを必要とせず、汎用CPUを用いることができる。これにより、トランスコーダ1は、従来の高性能CPUを必要とするソフトエンコーダ及びソフトデコーダと比べて、コストを抑えることができる。また、トランスコーダ1は、従来の複数の汎用CPUを必要とするソフトエンコーダ及びソフトデコーダと比べて、コスト、消費電力及びスペースを抑えることができる。
【0069】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることはもちろんである。
【0070】
例えば、本発明の実施の形態では、トランスコーダ1が扱う画像圧縮情報として、MPEG1、MPEG2 HD、MPEG2 SD、MPEG4形式で圧縮されたMPEG画像圧縮情報を示したが、これに限らず、例えば、DV(Digital Video)形式で圧縮された画像圧縮情報であってもよい。
【0071】
また、図2を用いて説明したコマンドディスクリプタ50には、ネクスト処理モジュール541及びネクスト処理モジュール542とする2つのネクスト処理モジュールと、ネクストアドレス551及びネクストアドレス552とする2つのネクストアドレスとを示したが、これに限らず、トランスコーダ1が行う処理によって変化するものである。
【0072】
また、FIFO30a〜30gに書き込まれるアドレスのパスは、内部バスとは別に設けているが、内部バスと共用にしてもよい。
【0073】
また、トランスコーダ1が備えるRAM34は、内蔵DRAMとしたが、これに限らず、外部に備えた外部DRAMであってもよい。
【0074】
【発明の効果】
以上詳細に説明したように、本発明に係る画像処理装置は、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備え、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを記憶手段に作成し、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことにより、複数のモジュールの間で作業の受け渡しを行うことができる。
【0075】
これにより、画像処理装置は、複数の画像処理形式の画像情報を同時に符号化及び/又は復号化することができる。
【0076】
また、本発明に係る画像処理方法では、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備える画像処理装置の画像処理方法において、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成し、記憶手段に記憶させ、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことにより、複数のモジュールの間で作業の受け渡しを行うことができる。
【0077】
これにより、画像処理方法では、複数の画像処理形式の画像情報を同時に符号化及び/又は復号化することができる。
【0078】
また、本発明に係るプログラムは、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備える画像処理装置に、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成し、記憶手段に記憶させ、記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込む処理を実行させることにより、複数のモジュールの間で作業の受け渡しを行わせる。
【0079】
これにより、プログラムは、画像処理装置に、複数の画像処理形式の画像情報を同時に符号化及び/又は復号化させることができる。
【0080】
また、本発明に係る記録媒体は、複数の画像処理形式の画像情報を符号化及び/又は復号化する複数のモジュールと、複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段とを備える画像処理装置に、複数の画像処理形式に応じて、複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成し、記憶手段に記憶させ、複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込む処理を実行させるプログラムが記録されていることにより、複数のモジュールの間で作業の受け渡しを行わせる。
【0081】
これにより、記録媒体は、画像処理装置に、複数の画像処理形式の画像情報を同時に符号化及び/又は復号化させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るトランスコーダ1の概略構成を説明する図である。
【図2】同トランスコーダ1を構成する作成機能部21bが作成した複数のコマンドディスクリプタの一例とするコマンドディスクリプタ50を説明する図である。
【図3】同トランスコーダ1を構成する離散コサイン変換+量子化部27がコマンドディスクリプタ50に基づいて実行する動作を説明するフローチャートである。
【図4】同トランスコーダ1を構成するCPU21の割り込み発生時以外の制御動作を説明するフローチャートである。
【図5】同トランスコーダ1を構成するCPU21の割り込み発生時の制御動作を説明するフローチャートである。
【符号の説明】
1 トランスコーダ、11 制御ユニット、12 処理ユニット、13メモリユニット、14 入出力ユニット、21 CPU、21a 制御機能部、21b作成機能部、22 CPUインターフェース、23 ホストインターフェース、24 外部ROMインターフェース、25 ジョブスプリッタ、26 動き推定部、27 離散コサイン変換+量子化部、28 可変長符号化部、29 可変長復号化部、30 逆量子化+逆離散コサイン変換部、31 動き補償部、32解像度変換部、33a〜33g Job Queue FIFO、34 RAM、35 RAMコントローラ、36 ビデオイン、37 圧縮ビデオイン、38 ビデオアウト、39 圧縮ビデオアウト、50 コマンドディスクリプタ、51、コマンドコード、52 割込みフラグ、53 パラメータ、541、542 ネクスト処理モジュール、551、552 ネクストアドレスポインタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, a program, and a recording medium, and more particularly to an image processing apparatus and method, a program, and a recording medium that are suitable for encoding and / or decoding image information.
[0002]
[Prior art]
In recent years, when image information is handled as digital, it is often used as image compression information by compression in the MPEG (Moving Picture Experts Group) format or the like for the purpose of efficient transmission and storage of information.
[0003]
At this time, when a hard encoder or a hard decoder is used for the process of encoding the image information, the process of decoding the compressed image information, and the process of converting the compressed image information by decoding and encoding In some cases, a soft encoder and a soft decoder are used.
[0004]
[Problems to be solved by the invention]
By the way, MPEG1, MPEG2, MPEG4, etc. are currently used for the above-mentioned MPEG format, but the above-mentioned hard encoder and hard decoder are mainly compatible with only one type of compression format, and there are a plurality of types. In order to support the compression format, a circuit in which many ICs (Integrated Circuits) are combined must be required. This becomes a problem that the circuit scale becomes large and the cost becomes high.
[0005]
In addition, a high-performance CPU (Central processing Unit) or a plurality of general-purpose CPUs having a high processing speed needs to be used for the above-described soft encoder and soft decoder. However, the high-performance CPU has a problem of high price. Further, when a plurality of general-purpose CPUs are used, there are problems that the cost is high, the power consumption is high, and a space for accommodating the plurality of general-purpose CPUs is required. The high-performance CPU and general-purpose CPU described above include CPUs that support the VLIW (Very Long Instruction Word) method.
[0006]
Therefore, the present invention has been proposed in view of the above-described circumstances, and an image processing apparatus and method, a program, and a recording medium that can perform processing corresponding to a plurality of types of compression formats using a general-purpose CPU. It is intended to provide.
[0007]
[Means for Solving the Problems]
An image processing apparatus according to the present invention encodes and / or decodes image information of a plurality of image processing formats in order to solve the above-described problems.Corresponding to the function of each part of the processing unitMultiple modules,the aboveA plurality of temporary storage means by a first-in first-out method corresponding to each of a plurality of modules;the aboveDepending on multiple image processing formats,the aboveCreating means for creating a plurality of command descriptors as work information relating to a series of work executed by a plurality of modules;the aboveStorage means for storing a plurality of command descriptors;the aboveIn the temporary storage means corresponding to the module that executes the first command descriptor of the plurality of command descriptors stored in the storage means,the aboveControl means for controlling writing of information specifying an area in which the first command descriptor is stored.,the aboveThe predetermined command descriptor of the plurality of command descriptors executes the next operation using information specifying the work content to be executed by the predetermined module of the plurality of modules and the execution result of the predetermined module. Information for designating a next module to be performed and information for designating an area in which a command descriptor related to a work executed by the designated module is stored are described.
[0008]
The image processing apparatus includes a plurality of modules for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of temporary storage units based on a first-in first-out method corresponding to each of the plurality of modules. Depending on the image processing format, a plurality of command descriptors as work information related to a series of operations executed by a plurality of modules are created in the storage means, and the first command descriptor of the plurality of command descriptors is executed. By writing information designating the area where the first command descriptor is stored in the temporary storage means, the work can be transferred between a plurality of modules.
[0009]
An image processing method according to the present invention encodes and / or decodes image information of a plurality of image processing formats in order to solve the above-described problems.Corresponding to the function of each part of the processing unitMultiple modules,the aboveA plurality of temporary storage means by a first-in first-out method corresponding to each of a plurality of modules;Storage means for storing command descriptors;In an image processing method of an image processing apparatus comprising:the aboveDepending on multiple image processing formats,the aboveA creation step for creating a plurality of command descriptors as work information regarding a series of work executed by a plurality of modules;the aboveMultiple command descriptorsthe aboveA storage control step for storing in the storage means;the aboveIn the temporary storage means corresponding to the module that executes the first command descriptor of the plurality of command descriptors stored in the storage means,the aboveAnd a control process for controlling writing of information specifying the area where the first command descriptor is stored.In the predetermined command descriptor of the plurality of command descriptors, the information specifying the work content to be executed by the predetermined module of the plurality of modules and the execution result of the predetermined module are used to Information for designating a next module for executing the work and information for designating an area in which a command descriptor related to the work to be executed by the designated module is stored are described.
[0010]
In this image processing method, an image processing apparatus includes a plurality of modules for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of temporary storage units using a first-in first-out method corresponding to each of the plurality of modules. In the image processing method, a plurality of command descriptors as work information relating to a series of operations executed by a plurality of modules are created according to a plurality of image processing formats, stored in a storage unit, By writing information specifying the area in which the first command descriptor is stored in the temporary storage means corresponding to the module that executes the first command descriptor, it is possible to transfer work between a plurality of modules.
[0011]
The program according to the present invention encodes and / or decodes image information of a plurality of image processing formats in order to solve the above-described problems.Corresponding to the function of each part of the processing unitMultiple modules,the aboveA plurality of temporary storage means by a first-in first-out method corresponding to each of a plurality of modules;Storage means for storing command descriptors;An image processing apparatus comprising:the aboveDepending on multiple image processing formats,the aboveA creation step for creating a plurality of command descriptors as work information regarding a series of work executed by a plurality of modules;the aboveA storage control step of storing a plurality of command descriptors in the storage means;the aboveIn the temporary storage means corresponding to the module that executes the first command descriptor of the plurality of command descriptors stored in the storage means,the aboveAnd a control process for controlling writing of information specifying an area in which the first command descriptor is stored.In the predetermined command descriptor of the plurality of command descriptors, the next operation is performed using information specifying the work content to be executed by the predetermined module of the plurality of modules and the execution result of the predetermined module. At least information for designating a next module for executing the command and information for designating an area in which a command descriptor related to work to be executed by the designated module is stored.
[0012]
This program is provided in an image processing apparatus including a plurality of modules for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of temporary storage units based on a first-in first-out method corresponding to each of the plurality of modules. According to a plurality of image processing formats, a plurality of command descriptors as work information relating to a series of operations executed by a plurality of modules are created, stored in a storage unit, and a plurality of command descriptors stored in the storage unit The temporary storage means corresponding to the module that executes the first command descriptor executes a process of writing information that specifies the area in which the first command descriptor is stored, thereby transferring work between a plurality of modules. Make it.
[0013]
The recording medium according to the present invention encodes and / or decodes image information of a plurality of image processing formats in order to solve the above-described problems.Corresponding to the function of each part of the processing unitMultiple modules,the aboveA plurality of temporary storage means by a first-in first-out method corresponding to each of a plurality of modules;Storage means for storing command descriptors;An image processing apparatus comprising:the aboveDepending on multiple image processing formats,the aboveA creation step for creating a plurality of command descriptors as work information regarding a series of work executed by a plurality of modules;the aboveA storage control step of storing a plurality of command descriptors in the storage means;the aboveIn the temporary storage means corresponding to the module that executes the first command descriptor of the plurality of command descriptors stored in the storage means,the aboveA recording medium on which a program for executing processing including a control process for controlling writing of information specifying an area in which the first command descriptor is stored is recordedIn the predetermined command descriptor of the plurality of command descriptors, information specifying work contents executed by the predetermined module of the plurality of modules and an execution result of the predetermined module are used. Information for designating a next module for executing the next work and information for designating an area in which a command descriptor related to the work to be executed by the designated module is stored are described.
[0014]
This recording medium is provided in an image processing apparatus including a plurality of modules for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of temporary storage units based on a first-in first-out method corresponding to each of the plurality of modules. In accordance with a plurality of image processing formats, a plurality of command descriptors as work information relating to a series of operations executed by a plurality of modules are created and stored in a storage unit, and the first command descriptor of the plurality of command descriptors is stored. The temporary storage means corresponding to the module to be executed stores a program for executing processing for writing information specifying the area in which the first command descriptor is stored, so that work can be transferred between a plurality of modules. Let it be done.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. A transcoder shown as an embodiment of the present invention includes a plurality of processing modules for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of temporary data by a first-in first-out method corresponding to each of the plurality of processing modules. Job Queue FIFO as storage means (hereinafter simply referred to as FIFO: First-in First-Out) and a plurality of commands as work information regarding a series of work executed by a plurality of processing modules according to a plurality of image processing formats A creation function unit as creation means for creating a descriptor, a RAM (Random Access Memory) as storage means for storing a plurality of command descriptors, and a first command descriptor among the plurality of command descriptors stored in the storage means In the temporary storage means corresponding to the processing module that executes In which command descriptor and a control function unit as control means for controlling the writing of information for specifying a region stored.
[0016]
First, a schematic configuration of a
[0017]
Here, the above-mentioned MPEG image compression information is MPEG image compression information compressed in, for example, MPEG1, MPEG2 HD (High Definition), MPEG2 SD (StanDard), MPEG4 format or the like.
[0018]
The
[0019]
The
[0020]
Hereinafter, in this specification, the
[0021]
The
[0022]
The input /
[0023]
Next, functions of the above-described units will be described. First, the function of each part which comprises the
[0024]
Subsequently, the function of each part constituting the
[0025]
In addition, the function of each part constituting the
[0026]
In addition, the function of each part constituting the input /
[0027]
The
[0028]
Here, the number of interrupts of the
[0029]
When the
[0030]
On the other hand, when the
[0031]
However, when the
[0032]
[Expression 1]
Therefore, the
[0033]
Next, the command descriptor will be described. The
[0034]
As an example of the plurality of command descriptors described above, a
[0035]
The
[0036]
The command code 51 includes a description for designating the work content to be executed by the discrete cosine transform +
[0037]
Next, an operation in which the discrete cosine transform +
[0038]
In step S1, the discrete cosine transform +
[0039]
In step S2, the discrete cosine transform +
[0040]
In step S <b> 5, the discrete cosine transform +
[0041]
In step S6, the discrete cosine transform +
[0042]
In step S7, details will be described with reference to FIG. 5, but the
[0043]
In step S8, the discrete cosine transform +
[0044]
In step S <b> 9, the discrete cosine transform +
[0045]
In step S10, the discrete cosine transform +
[0046]
In step S <b> 11, the discrete cosine transform +
[0047]
The discrete cosine transform +
[0048]
Next, the control operation of the
[0049]
In step S <b> 21, the
[0050]
In step S22, the
[0051]
In step S23, the
[0052]
In step S24, the
[0053]
In step S <b> 26, the
[0054]
In step S27, the
[0055]
After completing the above process, the
[0056]
Next, the control operation of the
[0057]
In step S41, the
[0058]
In step S42, the image information before the occurrence of the interruption is combined with the MPEG image compression information.
[0059]
In step S43, the
[0060]
In step S44, the
[0061]
In step S46, the
[0062]
In step S47, the MPEG image compression information before the occurrence of the interruption is combined with the image information.
[0063]
In step S48, the
[0064]
In step S49, the
[0065]
As described above in detail, in the
[0066]
As a result, the
[0067]
In addition, since the
[0068]
Furthermore, since the
[0069]
Note that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present invention.
[0070]
For example, in the embodiment of the present invention, the MPEG image compression information compressed in the MPEG1, MPEG2 HD, MPEG2 SD, and MPEG4 formats is shown as the image compression information handled by the
[0071]
Further, the
[0072]
In addition, the path of addresses written to the FIFOs 30a to 30g is provided separately from the internal bus, but may be shared with the internal bus.
[0073]
The RAM 34 included in the
[0074]
【The invention's effect】
As described above in detail, the image processing apparatus according to the present invention uses a plurality of modules that encode and / or decode image information in a plurality of image processing formats, and a first-in first-out method corresponding to each of the plurality of modules. A plurality of temporary storage means, and according to a plurality of image processing formats, a plurality of command descriptors as work information relating to a series of work executed by a plurality of modules are created in the storage means. By writing information specifying the area in which the first command descriptor is stored in the temporary storage means corresponding to the module that executes the first command descriptor, it is possible to transfer work between a plurality of modules.
[0075]
Thereby, the image processing apparatus can simultaneously encode and / or decode image information of a plurality of image processing formats.
[0076]
Further, in the image processing method according to the present invention, a plurality of modules for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of temporary storage means by a first-in first-out method corresponding to each of the plurality of modules, In the image processing method of the image processing apparatus comprising: a plurality of command descriptors as work information relating to a series of work executed by a plurality of modules according to a plurality of image processing formats; By writing information that specifies the area where the first command descriptor is stored in the temporary storage means corresponding to the module that executes the first command descriptor of the command descriptors, work can be transferred between multiple modules. It can be carried out.
[0077]
Thereby, in the image processing method, image information of a plurality of image processing formats can be encoded and / or decoded simultaneously.
[0078]
The program according to the present invention includes a plurality of modules for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of temporary storage units based on a first-in first-out method corresponding to each of the plurality of modules. In the image processing apparatus, a plurality of command descriptors as work information relating to a series of operations executed by a plurality of modules are created according to a plurality of image processing formats, stored in a storage unit, and a plurality of command descriptors stored in the storage unit By causing the temporary storage means corresponding to the module that executes the first command descriptor of the command descriptors to execute the process of writing the information that specifies the area in which the first command descriptor is stored, between the modules Have the work delivered.
[0079]
Thus, the program can cause the image processing apparatus to simultaneously encode and / or decode image information in a plurality of image processing formats.
[0080]
The recording medium according to the present invention includes a plurality of modules that encode and / or decode image information in a plurality of image processing formats, and a plurality of temporary storage units based on a first-in first-out method corresponding to each of the plurality of modules. A plurality of command descriptors as work information relating to a series of operations executed by a plurality of modules are created in an image processing apparatus provided according to a plurality of image processing formats, stored in storage means, A program that executes a process of writing information specifying an area in which the first command descriptor is stored is recorded in a temporary storage unit corresponding to the module that executes the first command descriptor, so that a plurality of modules are Let the work pass.
[0081]
Accordingly, the recording medium can cause the image processing apparatus to simultaneously encode and / or decode image information in a plurality of image processing formats.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration of a
FIG. 2 is a diagram for explaining a
FIG. 3 is a flowchart illustrating an operation executed by a discrete cosine transform +
FIG. 4 is a flowchart for explaining a control operation other than when an interrupt is generated by the
FIG. 5 is a flowchart for explaining a control operation when an interrupt is generated by the
[Explanation of symbols]
1 transcoder, 11 control unit, 12 processing unit, 13 memory unit, 14 input / output unit, 21 CPU, 21a control function unit, 21b creation function unit, 22 CPU interface, 23 host interface, 24 external ROM interface, 25 job splitter , 26 motion estimation unit, 27 discrete cosine transform + quantization unit, 28 variable length coding unit, 29 variable length decoding unit, 30 inverse quantization + inverse discrete cosine transform unit, 31 motion compensation unit, 32 resolution conversion unit, 33a to 33g Job Queue FIFO, 34 RAM, 35 RAM Controller, 36 Video In, 37 Compressed Video In, 38 Video Out, 39 Compressed Video Out, 50 Command Descriptor, 51, Command Code, 52 Interrupt Flag, 3 parameters, 541, 542 Next processing module, 551552 Next address pointer
Claims (6)
上記複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段と、
上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成手段と、
上記複数のコマンドディスクリプタが記憶される記憶手段と、
上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御手段とを備え、
上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、
上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、
上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、
上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている
画像処理装置。 A plurality of modules each corresponding to a function of each unit constituting a processing unit for encoding and / or decoding image information of a plurality of image processing formats;
A plurality of temporary storage means by a first-in first-out method corresponding to each of the plurality of modules;
Creating means for creating a plurality of command descriptors as work information relating to a series of work executed by the plurality of modules according to the plurality of image processing formats;
Storage means for storing the plurality of command descriptors;
Controls writing of information specifying an area in which the first command descriptor is stored in a temporary storage unit corresponding to a module that executes the first command descriptor among a plurality of command descriptors stored in the storage unit and control means for,
In a predetermined command descriptor of the plurality of command descriptors,
Information designating work content to be executed by a predetermined module among the plurality of modules;
Information specifying the next module to execute the next work using the execution result of the predetermined module;
An image processing apparatus in which at least information for designating an area in which a command descriptor relating to work executed by the designated module is stored is described .
上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、
上記複数のコマンドディスクリプタを上記記憶手段に記憶させる記憶制御工程と、
上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを有し、
上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、
上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、
上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、
上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている
画像処理方法。 A plurality of modules each corresponding to the function of each unit constituting a processing unit for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of first-in first-out methods corresponding to each of the plurality of modules In an image processing method of an image processing apparatus comprising a temporary storage means and a storage means for storing a command descriptor ,
A creation step of creating a plurality of command descriptors as work information related to a series of work executed by the plurality of modules according to the plurality of image processing formats,
A storage control step of storing said plurality of command descriptors in the storage means,
Controls writing of information specifying an area in which the first command descriptor is stored in a temporary storage unit corresponding to a module that executes the first command descriptor among a plurality of command descriptors stored in the storage unit and a control step of possess,
In a predetermined command descriptor of the plurality of command descriptors,
Information designating work content to be executed by a predetermined module among the plurality of modules;
Information specifying the next module to execute the next work using the execution result of the predetermined module;
An image processing method in which at least information for designating an area in which a command descriptor related to work executed by the designated module is stored is described .
上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、
上記複数のコマンドディスクリプタを記憶手段に記憶させる記憶制御工程と、
上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを含む処理を実行させ、
上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、
上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、
上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、
上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている
プログラム。 A plurality of modules each corresponding to the function of each unit constituting a processing unit for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of first-in first-out methods corresponding to each of the plurality of modules An image processing apparatus comprising temporary storage means and storage means for storing command descriptors ,
A creation step of creating a plurality of command descriptors as work information related to a series of work executed by the plurality of modules according to the plurality of image processing formats,
A storage control step of storing the plurality of command descriptors in a storage means;
Controls writing of information specifying an area in which the first command descriptor is stored in a temporary storage unit corresponding to a module that executes the first command descriptor among a plurality of command descriptors stored in the storage unit A process including a control step to perform ,
In a predetermined command descriptor of the plurality of command descriptors,
Information designating work content to be executed by a predetermined module among the plurality of modules;
Information specifying the next module to execute the next work using the execution result of the predetermined module;
A program in which at least information specifying an area in which a command descriptor related to work executed by the specified module is stored is described .
上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、
上記複数のコマンドディスクリプタを記憶手段に記憶させる記憶制御工程と、
上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを含む処理を実行させるプログラムが記録された記録媒体であって、
上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、
上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、
上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、
上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている
プログラムが記録された記録媒体。 A plurality of modules each corresponding to the function of each unit constituting a processing unit for encoding and / or decoding image information in a plurality of image processing formats, and a plurality of first-in first-out methods corresponding to each of the plurality of modules An image processing apparatus comprising temporary storage means and storage means for storing command descriptors ,
A creation step of creating a plurality of command descriptors as work information related to a series of work executed by the plurality of modules according to the plurality of image processing formats,
A storage control step of storing the plurality of command descriptors in a storage means;
Controls writing of information specifying an area in which the first command descriptor is stored in a temporary storage unit corresponding to a module that executes the first command descriptor among a plurality of command descriptors stored in the storage unit A recording medium on which a program for executing processing including a control step is recorded ,
In a predetermined command descriptor of the plurality of command descriptors,
Information designating work content to be executed by a predetermined module among the plurality of modules;
Information specifying the next module to execute the next work using the execution result of the predetermined module;
A recording medium on which a program in which at least information specifying an area in which a command descriptor related to work executed by the specified module is stored is recorded.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001195192A JP4423820B2 (en) | 2001-06-27 | 2001-06-27 | Image processing apparatus and method, program, and recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001195192A JP4423820B2 (en) | 2001-06-27 | 2001-06-27 | Image processing apparatus and method, program, and recording medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003009149A JP2003009149A (en) | 2003-01-10 |
| JP4423820B2 true JP4423820B2 (en) | 2010-03-03 |
Family
ID=19033215
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001195192A Expired - Fee Related JP4423820B2 (en) | 2001-06-27 | 2001-06-27 | Image processing apparatus and method, program, and recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4423820B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4674439B2 (en) * | 2004-02-19 | 2011-04-20 | ソニー株式会社 | Signal processing apparatus, signal processing method, and information recording medium |
| US8018463B2 (en) * | 2004-05-10 | 2011-09-13 | Nvidia Corporation | Processor for video data |
| US8130825B2 (en) | 2004-05-10 | 2012-03-06 | Nvidia Corporation | Processor for video data encoding/decoding |
| WO2005115015A1 (en) * | 2004-05-20 | 2005-12-01 | Matsushita Electric Industrial Co., Ltd. | Image processing apparatus and data processing method |
| US7830960B2 (en) * | 2005-01-13 | 2010-11-09 | Qualcomm Incorporated | Mode selection techniques for intra-prediction video encoding |
| KR101305514B1 (en) * | 2007-04-17 | 2013-09-06 | (주)휴맥스 | Bitstream decoding device and method |
-
2001
- 2001-06-27 JP JP2001195192A patent/JP4423820B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003009149A (en) | 2003-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| USRE48845E1 (en) | Video decoding system supporting multiple standards | |
| KR100418437B1 (en) | A moving picture decoding processor for multimedia signal processing | |
| KR100562116B1 (en) | Media processing apparatus that operates at high efficiency | |
| US20050226324A1 (en) | Multiple format video compression | |
| JP2005510981A (en) | Multi-channel video transcoding system and method | |
| US20070230586A1 (en) | Encoding, decoding and transcoding of audio/video signals using combined parallel and serial processing techniques | |
| US20080170611A1 (en) | Configurable functional multi-processing architecture for video processing | |
| WO2009133671A1 (en) | Video encoding and decoding device | |
| JPH05268590A (en) | Moving picture coding decoding circuit | |
| US5752266A (en) | Method controlling memory access operations by changing respective priorities thereof, based on a situation of the memory, and a system and an integrated circuit implementing the method | |
| JP4423820B2 (en) | Image processing apparatus and method, program, and recording medium | |
| JP2005080123A (en) | Video encoding apparatus, video encoding control method, and video encoding control program | |
| JP2611637B2 (en) | Image compression / decompression device | |
| JPH10108199A (en) | Image coder | |
| US20070230579A1 (en) | Serial processing of video signals using a programmable hardware device | |
| EP1689187A1 (en) | Method and system for video compression and decompression (CODEC) in a microprocessor | |
| US7590295B2 (en) | Semiconductor device and an image processor | |
| JP4891335B2 (en) | Hardware multi-standard video decoder device | |
| JP2776284B2 (en) | Image coding device | |
| JPH08314793A (en) | Memory access control method, semiconductor integrated circuit and image decoding apparatus to which the method is applied | |
| JP2009171134A (en) | Video format converter | |
| US8861602B2 (en) | Motion vector reconstruction in an entropy decoder | |
| JPH10136380A (en) | Moving picture encoding apparatus and method | |
| US20080158364A1 (en) | Image Processing Device and Data Processing Method | |
| JP2006203889A (en) | Method for processing image data, method for encoding image data, graphics controller for processing image data, computer program for processing image data embodied in a computer-readable medium, electronic Method for apparatus to process image data more efficiently, method for efficiently processing image data captured through the apparatus, and image capturing apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080215 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090902 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090908 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091026 |
|
| 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: 20091117 |
|
| 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: 20091130 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121218 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |