Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4423820B2 - Image processing apparatus and method, program, and recording medium - Google Patents
[go: Go Back, main page]

JP4423820B2 - Image processing apparatus and method, program, and recording medium - Google Patents

Image processing apparatus and method, program, and recording medium Download PDF

Info

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
Application number
JP2001195192A
Other languages
Japanese (ja)
Other versions
JP2003009149A (en
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 JP2001195192A priority Critical patent/JP4423820B2/en
Publication of JP2003009149A publication Critical patent/JP2003009149A/en
Application granted granted Critical
Publication of JP4423820B2 publication Critical patent/JP4423820B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0004423820
そこで、トランスコーダ1は、CPU21の割り込み回数を減少させるために、コマンドディスクリプタを用いる。
【0033】
続いて、コマンドディスクリプタについて説明をする。CPU21の機能ブロックとされる作成機能部21bは、ビデオイン36に画像情報が入力したとき、又は圧縮ビデオイン37にMPEG画像圧縮情報が入力したときに、処理モジュール26〜32が実行する一連の作業に関する複数のコマンドディスクリプタをRAM34に作成する。
【0034】
上述の複数のコマンドディスクリプタの一例として、コマンドディスクリプタ50を図2に示す。処理モジュール26〜32のうちの離散コサイン変換+量子化部27が、このコマンドディスクリプタ50に基づいて作業を実行するものとする。
【0035】
コマンドディスクリプタ50は、コマンドコード51、割込みフラグ52、パラメータ53、ネクスト処理モジュール54、ネクストアドレスポインタ55、ネクスト処理モジュール54及びネクストアドレスポインタ55から構成される。
【0036】
コマンドコード51には、離散コサイン変換+量子化部27が実行する作業内容を指定する記述がなされている。割込みフラグ52には、制御機能部21aが割り込みをするか否かを指定するフラグが記述されている。パラメータ53には、離散コサイン変換+量子化部27が実行する作業に応じて必要な引数が記述されている。ネクスト処理モジュール54には、離散コサイン変換+量子化部27の作業結果を用いて、次に作業を実行する可変長符号化部28を指定する記述がなされている。ネクストアドレスポインタ55には、可変長符号化部28が実行するコマンドディスクリプタが記憶されているRAM34内の領域を指定するアドレスが記述されている。ネクスト処理モジュール54には、離散コサイン変換+量子化部27の作業結果を用いて、次に作業を実行する逆量子化+逆離散コサイン変換部30を指定する記述がなされている。ネクストアドレスポインタ55には、逆量子化+逆離散コサイン変換部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のネクスト処理モジュール54の値を確認し、“0”であるか否かを判断する。ネクスト処理モジュール54が“0”である場合、離散コサイン変換+量子化部27は、作業を終了し、上述のステップS1に戻ってFIFO33bが空であるか否かを判断する。一方、ネクスト処理モジュール54が“0”でない場合、ステップS9へ進んで処理が行われる。
【0044】
ステップS9において、離散コサイン変換+量子化部27は、ジョブスプリッタ25を介して、ネクスト処理モジュール54が指定する可変長符号化部28に接続されているFIFO33cに、ネクストアドレスポインタ55のアドレスを書き込み、作業の受け渡しを行う。
【0045】
ステップS10において、離散コサイン変換+量子化部27は、ネクスト処理モジュール54の値を確認し、“0”であるか否かを判断する。ネクスト処理モジュール54が“0”である場合、離散コサイン変換+量子化部27は、上述のステップS1に戻ってFIFO33bが空であるか否かを判断する。一方、ネクスト処理モジュール54が“0”でない場合、ステップS11へ進んで処理が行われる。
【0046】
ステップS11において、離散コサイン変換+量子化部27は、ジョブスプリッタ25を介して、ネクスト処理モジュール54が指定する逆量子化+逆離散コサイン変換部30に接続されているFIFO33eに、ネクストアドレスポインタ55のアドレスを書き込み、作業の受け渡しを行う。
【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には、ネクスト処理モジュール54及びネクスト処理モジュール54とする2つのネクスト処理モジュールと、ネクストアドレス55及びネクストアドレス55とする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 パラメータ、54、54 ネクスト処理モジュール、55、55 ネクストアドレスポインタ[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 transcoder 1 according to an embodiment of the present invention will be described with reference to FIG. Each unit constituting the transcoder 1 is modularized, and includes a control unit 11 that controls the operation of the entire transcoder 1, encoding, decoding, transcoding, resolution conversion (scaling), frame rate conversion, bit rate conversion, and the like. A processing unit 12 for performing the above processing, a memory unit 13 for storing information, and image information and compressed image information compressed in MPEG (Moving Picture Experts Group) format (hereinafter referred to as MPEG image compression information) are input / output. And the input / output unit 14 to be classified.
[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 control unit 11 includes a CPU 21, a CPU interface 22 to which the CPU 21 is connected, a host interface 23 to which a host computer (not shown) is connected, an external ROM interface 24 to which an external ROM (Read Only Memory) (not shown) is connected, It comprises a job splitter 25 for classifying addresses to be described later.
[0019]
The processing unit 12 includes a motion estimation unit 26 that detects a motion vector of image information, a discrete cosine transform + quantization unit 27 that quantizes the image information and a discrete cosine transform, and a variable length code that performs variable length encoding of the image information. , A variable length decoding unit 29 that performs variable length decoding of MPEG image compression information, an inverse quantization + inverse discrete cosine transform unit 30 that inversely quantizes MPEG image compression information and inverse discrete cosine transform, It comprises a motion compensation unit 31 that performs motion prediction of image information using vectors, a resolution conversion unit 32 that converts the resolution of MPEG image compression information, and FIFOs 33a to 33g that first-in first-out addresses.
[0020]
Hereinafter, in this specification, the motion estimation unit 26, the discrete cosine transform + quantization unit 27, the variable length encoding unit 28, the variable length decoding unit 29, the inverse quantization + inverse discrete cosine transform unit 30, and the motion compensation unit 31 When it is not necessary to distinguish the resolution conversion units 32 from each other, the processing modules 26 to 32 are collectively described.
[0021]
The memory unit 13 includes a RAM 34 that is used for storing and developing information, and a RAM controller 35 that controls the RAM 34.
[0022]
The input / output unit 14 includes a video-in 36 for inputting image information, a compressed video-in 37 for inputting MPEG image compression information, a video-out 38 for outputting image information, and a compressed video-out 39 for outputting MPEG image compression information. It consists of.
[0023]
Next, functions of the above-described units will be described. First, the function of each part which comprises the control unit 11 is demonstrated. The CPU 21 is a functional block executed by the CPU 21, and a control function unit 21 a that controls the operation of each unit, and a plurality of commands related to a series of operations executed by the processing modules 26 to 32, details of which will be described later with reference to FIG. And a creation function unit 21b for creating a descriptor. The CPU interface 22 is a connection device for connecting the CPU 21 to the internal bus. The host interface 23 is a connection device for connecting the host computer to the internal bus. The external ROM interface 24 is a connection device for connecting the external ROM to the internal bus. The job splitter 25 classifies the addresses received via the internal bus and transmits them to the FIFOs 33a to 33g.
[0024]
Subsequently, the function of each part constituting the processing unit 12 will be described. The motion estimation unit 26 detects the motion vector of the image information and outputs it to the internal bus. The discrete cosine transform + quantization unit 27 quantizes the image information with the discrete cosine transform and outputs it to the internal bus. The variable length coding unit 28 performs variable length coding on the image information and outputs it to the internal bus. The variable length decoding unit 29 performs variable length decoding on the MPEG image compression information and outputs it to the internal bus. The inverse quantization + inverse discrete cosine transform unit 30 inversely quantizes the MPEG image compression information with the inverse discrete cosine transform and outputs it to the internal bus. The motion compensation unit 31 performs motion prediction of the image information using the motion vector and outputs it to the internal bus. The resolution converter 32 converts the resolution of the MPEG image compression information and outputs it to the internal bus. The FIFOs 33a to 33g are elements that temporarily store the addresses transmitted from the job splitter 25 and send out the addresses temporarily stored by the first-in first-out method, and are connected to the processing modules 26 to 32, respectively.
[0025]
In addition, the function of each part constituting the memory unit 13 will be described. The RAM 34 is a high-speed built-in DRAM (Dynamic Random Access Memory) serving as a shared memory, and a plurality of command descriptors are stored as will be described in detail later with reference to FIG. The RAM controller 35 controls the RAM 34 to read / write information such as an address stored in the RAM 34.
[0026]
In addition, the function of each part constituting the input / output unit 14 will be described. The video-in 36 inputs image information and outputs it to the internal bus. The compressed video-in 37 inputs MPEG image compression information and outputs it to the internal bus. Video out 38 outputs image information from the internal bus. The compressed video out 39 outputs MPEG image compression information from the internal bus.
[0027]
The transcode 1 configured as described above is encoded, decoded, transcoded, resolution converted, frame rate converted, bit rate converted, and the like by the processing modules 26 to 32 performing a series of operations based on a plurality of command descriptors. A plurality of processes are performed.
[0028]
Here, the number of interrupts of the CPU 21 when the transcoder 1 performs transcoding without using a command descriptor will be described.
[0029]
When the transcoder 1 transcodes one MPEG image compression information input to the compressed video-in 37, the control function unit 21a, which is a functional block of the CPU 21, has processing modules 26 to 32 as basic units of MPEG image compression information. Scheduling work to be performed in units of frames. As a result, the processing modules 26 to 32 execute work in accordance with the scheduling, decode the MPEG image compression information, convert the resolution, encode it, and transcode it into MPEG image compression information having a smaller allocated code amount.
[0030]
On the other hand, when the transcoder 1 simultaneously transcodes MPEG image compression information having a plurality of different frame rates input to the compressed video-in 37, in the above-mentioned scheduling in units of frames, each of the processing modules 26 to 32 has each module. The work to be performed is duplicated. This makes it difficult for the control function unit 21a to schedule the processing modules 26 to 32 so as to reliably execute the work. Therefore, the control function unit 21a needs to schedule the processing modules 26 to 32 not in units of frames but in units of slices that are smaller units.
[0031]
However, when the control function unit 21a schedules the processing modules 26 to 32 in units of slices, the number of interrupts of the control function unit 21a becomes enormous. For example, when the transcoder 1 decodes, converts the resolution, and encodes two MPEG image compression information having a standard resolution of 720 × 480, which is a frame rate of 30 fps and 30 slices per frame, the processing modules 26 to 32 Since there are seven, the number of interruptions of the control function unit 21a is a value shown in Expression (1).
[0032]
[Expression 1]
Figure 0004423820
Therefore, the transcoder 1 uses a command descriptor to reduce the number of interrupts of the CPU 21.
[0033]
Next, the command descriptor will be described. The creation function unit 21b, which is a functional block of the CPU 21, executes a series of processing modules 26 to 32 executed when image information is input to the video-in 36 or MPEG image compression information is input to the compressed video-in 37. A plurality of command descriptors related to work are created in the RAM 34.
[0034]
As an example of the plurality of command descriptors described above, a command descriptor 50 is shown in FIG. It is assumed that the discrete cosine transform + quantization unit 27 among the processing modules 26 to 32 performs work based on the command descriptor 50.
[0035]
The command descriptor 50 includes a command code 51, an interrupt flag 52, a parameter 53, and a next processing module 54.1Next address pointer 551Next processing module 542And the next address pointer 552Consists of
[0036]
The command code 51 includes a description for designating the work content to be executed by the discrete cosine transform + quantization unit 27. The interrupt flag 52 describes a flag for designating whether or not the control function unit 21a interrupts. In the parameter 53, an argument required according to the work executed by the discrete cosine transform + quantization unit 27 is described. Next processing module 541Includes a description for designating the variable-length encoding unit 28 that performs the next operation using the operation result of the discrete cosine transform + quantization unit 27. Next address pointer 551Describes an address for designating an area in the RAM 34 in which a command descriptor to be executed by the variable length coding unit 28 is stored. Next processing module 542Includes a description for designating the inverse quantization + inverse discrete cosine transform unit 30 to be performed next using the work result of the discrete cosine transform + quantization unit 27. Next address pointer 552Describes an address for designating an area in the RAM 34 in which a command descriptor to be executed by the inverse quantization + inverse discrete cosine transform unit 30 is stored.
[0037]
Next, an operation in which the discrete cosine transform + quantization unit 27 performs work based on the above-described command descriptor 50 will be described with reference to the flowchart shown in FIG.
[0038]
In step S1, the discrete cosine transform + quantization unit 27 determines whether or not the connected FIFO 33b is empty. When the FIFO 33b is empty, the discrete cosine transform + quantization unit 27 waits until an address is written in the FIFO 33b. On the other hand, if the FIFO 33b is not empty and an address is written, the process proceeds to step S2 and processing is performed.
[0039]
In step S2, the discrete cosine transform + quantization unit 27 reads one address from the FIFO 33b. In step S3, the discrete cosine transform + quantization unit 27 reads the command descriptor 50 from the area in the RAM 34 specified by the address. In step S <b> 4, the discrete cosine transform + quantization unit 27 performs an operation specified by the command code 51 and the parameter 53 of the command descriptor 50.
[0040]
In step S <b> 5, the discrete cosine transform + quantization unit 27 determines whether or not the executed work has been completed. If the work has not been completed, the discrete cosine transform + quantization unit 27 returns to the above-described step S4 and continues to perform the work. On the other hand, when the work is completed, the process proceeds to step S6.
[0041]
In step S6, the discrete cosine transform + quantization unit 27 determines whether the interrupt flag 52 of the command descriptor 50 is “1”, that is, whether the interrupt control bit is “1”. When the interrupt flag 52 is “1”, the process proceeds to step S7 to be processed. On the other hand, when the interrupt flag 52 is not “1”, the process proceeds to step S8 and the process is performed.
[0042]
In step S7, details will be described with reference to FIG. 5, but the control function unit 21a performs an interrupt process.
[0043]
In step S8, the discrete cosine transform + quantization unit 27 performs the next processing module 54 of the command descriptor 50.1Is checked to determine whether it is “0”. Next processing module 541Is “0”, the discrete cosine transform + quantization unit 27 ends the operation and returns to the above-described step S1 to determine whether or not the FIFO 33b is empty. On the other hand, the next processing module 541Is not "0", the process proceeds to step S9.
[0044]
In step S <b> 9, the discrete cosine transform + quantization unit 27 passes through the job splitter 25 to the next processing module 54.1Next address pointer 55 is stored in FIFO 33c connected to variable length encoding unit 28 designated by1The address is written and the work is transferred.
[0045]
In step S10, the discrete cosine transform + quantization unit 27 performs the next processing module 54.2Is checked to determine whether it is “0”. Next processing module 542Is “0”, the discrete cosine transform + quantization unit 27 returns to the above-described step S1 and determines whether or not the FIFO 33b is empty. On the other hand, the next processing module 542Is not "0", the process proceeds to step S11.
[0046]
In step S <b> 11, the discrete cosine transform + quantization unit 27 passes the job processing unit 25 through the next processing module 54.2The next address pointer 55 is connected to the FIFO 33e connected to the inverse quantization + inverse discrete cosine transform unit 30 specified by2The address is written and the work is transferred.
[0047]
The discrete cosine transform + quantization unit 27 performs the above-described processing, and passes the work to the variable length coding unit 28 and the inverse quantization + inverse discrete cosine transform unit 30 without the intervention of the control function unit 21a. Then, it returns to step S1 and continues a process.
[0048]
Next, the control operation of the CPU 21 having the control function unit 21a and the creation function unit 21b will be described. Since the control operation of the CPU 21 is divided into when the CPU 21 is interrupted and when it is not, the control operation of the CPU 21 when the CPU 21 is not interrupted will be described with reference to the flowchart shown in FIG.
[0049]
In step S <b> 21, the control function unit 21 a determines whether a setting command transmitted from the host computer connected to the host interface 23 has been received. If received, the process proceeds to step S22. On the other hand, if the setting command has not been received, the process proceeds to step S23 to perform the process.
[0050]
In step S22, the control function unit 21a performs a setting operation based on the received setting command.
[0051]
In step S23, the control function unit 21a determines whether image information (image frame) is input to the video-in 36 or decoded image information (decoded frame) is completed. When the image information is input or the decoded image information is completed, the process proceeds to step S24 and processing is performed. On the other hand, if image information has not been input or decoded image information has not been completed, the process proceeds to step S26 and processing is performed.
[0052]
In step S24, the creation function unit 21b creates a plurality of command descriptors for encoding the first one to several slices of the image information in the RAM 34. In step S25, the control function unit 21a writes the address of the first command descriptor of the plurality of command descriptors in the FIFO connected to the processing module that executes the first command descriptor of the processing modules 26 to 32. .
[0053]
In step S <b> 26, the control function unit 21 a determines whether an MPEG image compressed image is input to the compressed video-in 37. If no MPEG image compressed image is input to the compressed video-in 37, the control function unit 21a returns to step S21 described above and determines whether a setting command transmitted from the host computer has been received. On the other hand, when an MPEG image compressed image is input to the compressed video-in 37, the process proceeds to step S27 and processing is performed.
[0054]
In step S27, the control function unit 21a scans the MPEG image compressed image. In step S28, the creation function unit 21b creates a plurality of command descriptors for decoding the MPEG image compressed image in the RAM 34. In step S29, the control function unit 21a writes the address of the first command descriptor of the plurality of command descriptors in the FIFO connected to the processing module that executes the first command descriptor of the processing modules 26 to 32. .
[0055]
After completing the above process, the CPU 21 returns to step S21 and continues the process.
[0056]
Next, the control operation of the CPU 21 when the interrupt of the CPU 21 occurs will be described using the flowchart shown in FIG. As shown in step S6 of FIG. 3, an interrupt occurs when the interrupt flag 52 is “1” after the work specified by the command code 51 and the parameter 53 of the command descriptor 50 is completed.
[0057]
In step S41, the control function unit 21a determines whether the processing of the command descriptor for encoding the image information has been completed. If the command descriptor processing has been completed, the processing proceeds to step S42. On the other hand, if the process of the command descriptor has not been completed, the process proceeds to step S46 and the process is performed.
[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 control function unit 21a determines whether or not the encoding for all slices of the image information has been completed. If encoding for all slices has not been completed, the process proceeds to step S44. On the other hand, if encoding for all slices has been completed, the process proceeds to step S46 to perform processing.
[0060]
In step S44, the creation function unit 21b creates in the RAM 34 a plurality of command descriptors for encoding the next one to several slices. In step S45, the control function unit 21a writes the address of the first command descriptor of the plurality of command descriptors in the FIFO connected to the processing module that executes the first command descriptor of the processing modules 26 to 32. .
[0061]
In step S46, the control function unit 21a determines whether or not the command descriptor processing for decoding the MPEG image compression information has been completed. If the command descriptor processing has been completed, the processing proceeds to step S47. On the other hand, when the processing of the command descriptor has not ended, the control function unit 21a ends the interrupt processing.
[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 control function unit 21a determines whether or not the next MPEG image compressed image is input to the compressed video-in 37. When the next MPEG image compressed image is not input to the compressed video-in 37, the control function unit 21a ends the interrupt process. On the other hand, when the next MPEG image compressed image is input to the compressed video-in 37, the process proceeds to step S49 to be processed.
[0064]
In step S49, the control function unit 21a scans the MPEG image compressed image. In step S50, the creation function unit 21b creates a plurality of command descriptors for decoding the MPEG image compressed image in the RAM 34. In step S51, the control function unit 21a writes the address of the first command descriptor of the plurality of command descriptors to the FIFO connected to the processing module that executes the first command descriptor of the processing modules 26 to 32. The interrupt process is terminated.
[0065]
As described above in detail, in the transcoder 1 according to the embodiment of the present invention, the control function unit 21a processes the address of the first command descriptor among the plurality of command descriptors created by the creation function unit 21b. The processing module 26 is written by writing to the FIFO connected to the processing module that executes the first command descriptor of the modules 26 to 32, and the processing modules 26 to 32 execute a series of operations based on the plurality of command descriptors. The work can be transferred between .about.32.
[0066]
As a result, the transcoder 1 can reduce the number of interruptions of the CPU 21 and can reduce the load factor of the CPU 21, so that a plurality of MPEG image compression information can be processed simultaneously.
[0067]
In addition, since the transcoder 1 can cope with a plurality of types of compression formats by the processing modules 26 to 32 performing a series of operations based on a plurality of command descriptors, only one conventional type of compression format is available. Compared to hard encoders and hard decoders that cannot be supported, it has high flexibility and multi-functionality.
[0068]
Furthermore, since the transcoder 1 can lower the load factor of the CPU 21, a general-purpose CPU can be used without requiring a high-performance CPU. As a result, the transcoder 1 can reduce the cost as compared with the conventional soft encoder and soft decoder that require a high-performance CPU. Further, the transcoder 1 can reduce cost, power consumption, and space as compared with a conventional soft encoder and soft decoder that require a plurality of general-purpose CPUs.
[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 transcoder 1, but not limited to this. It may be image compression information compressed in DV (Digital Video) format.
[0071]
Further, the command descriptor 50 described with reference to FIG.1And the next processing module 542And the next address 55 and the next address 551And next address 552However, the present invention is not limited to this and varies depending on the processing performed by the transcoder 1.
[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 transcoder 1 is a built-in DRAM, but is not limited thereto, and may be an external DRAM provided outside.
[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 transcoder 1 according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a command descriptor 50 as an example of a plurality of command descriptors created by a creation function unit 21b constituting the transcoder 1;
FIG. 3 is a flowchart illustrating an operation executed by a discrete cosine transform + quantization unit 27 configuring the transcoder 1 based on a command descriptor 50;
FIG. 4 is a flowchart for explaining a control operation other than when an interrupt is generated by the CPU 21 constituting the transcoder 1;
FIG. 5 is a flowchart for explaining a control operation when an interrupt is generated by the CPU 21 constituting the transcoder 1;
[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 .
上記複数の画像処理形式の画像情報には、MPEG(Moving Picture Experts Group)形式、DV(Digital Video)形式の画像情報が含まれ請求項1記載の画像処理装置。The plurality of the image information of the image processing format, MPEG (Moving Picture Experts Group) format, DV (Digital Video) The image processing apparatus according to claim 1 wherein that is part of the image information format. 複数の画像処理形式の画像情報を符号化及び/又は復号化するための処理ユニットを構成する各部の機能にそれぞれ対応する複数のモジュールと、上記複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段と、コマンドディスクリプタを記憶するための記憶手段とを備える画像処理装置の画像処理方法において、
上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、
上記複数のコマンドディスクリプタを上記記憶手段に記憶させる記憶制御工程と、
上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを有し、
上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、
上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、
上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、
上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている
画像処理方法。
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 .
上記複数の画像処理形式の画像情報には、MPEG(Moving Picture Experts Group)形式、DV(Digital Video)形式の画像情報が含まれ請求項記載の画像処理方法。The plurality of the image information of the image processing format, MPEG (Moving Picture Experts Group) format, DV (Digital Video) format image processing method according to claim 3, wherein the image information Ru is included in. 複数の画像処理形式の画像情報を符号化及び/又は復号化するための処理ユニットを構成する各部の機能にそれぞれ対応する複数のモジュールと、上記複数のモジュールの各々に対応する先入れ先出し方式による複数の一時記憶手段と、コマンドディスクリプタを記憶するための記憶手段とを備える画像処理装置に、
上記複数の画像処理形式に応じて、上記複数のモジュールが実行する一連の作業に関する作業情報としての複数のコマンドディスクリプタを作成する作成工程と、
上記複数のコマンドディスクリプタを記憶手段に記憶させる記憶制御工程と、
上記記憶手段に記憶された複数のコマンドディスクリプタのうちの最初のコマンドディスクリプタを実行するモジュールに対応する一時記憶手段に、上記最初のコマンドディスクリプタが記憶されている領域を指定する情報を書き込むことを制御する制御工程とを含む処理を実行させ
上記複数のコマンドディスクリプタのうちの所定のコマンドディスクリプタには、
上記複数のモジュールのうちの所定のモジュールが実行する作業内容を指定する情報と、
上記所定のモジュールの実行結果を用いて次の作業を実行する次のモジュールを指定する情報と、
上記指定されたモジュールが実行する作業に関するコマンドディスクリプタが記憶されている領域を指定する情報とが少なくとも記述されている
プログラム。
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.
JP2001195192A 2001-06-27 2001-06-27 Image processing apparatus and method, program, and recording medium Expired - Fee Related JP4423820B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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