JP3662523B2 - Video codec system, data processing method between the system and external host system, and encoding / decoding control method in the system - Google Patents
Video codec system, data processing method between the system and external host system, and encoding / decoding control method in the system Download PDFInfo
- Publication number
- JP3662523B2 JP3662523B2 JP2001205181A JP2001205181A JP3662523B2 JP 3662523 B2 JP3662523 B2 JP 3662523B2 JP 2001205181 A JP2001205181 A JP 2001205181A JP 2001205181 A JP2001205181 A JP 2001205181A JP 3662523 B2 JP3662523 B2 JP 3662523B2
- Authority
- JP
- Japan
- Prior art keywords
- encoder
- decoder
- buffer
- video codec
- host system
- 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)
- Television Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は映像コーデックに係り、特にホストシステムから独立したプロセッサ内に具現された映像コーデックシステム、そのシステムと外部ホストシステムとのデータ処理方法及びそのシステムでのエンコーディング/デコーディング制御方法に関する。
【0002】
【従来の技術】
映像コーデックは一般的にエンコーダとデコーダとを具備し、これを必要とするシステム内においてエンコーディング及びデコーディング作業を行う。さらに、外部システムからエンコーディングするデータを入力してエンコーディングされた結果を再び伝送したり、エンコーディングされたデータを入力してデコーディングされた結果を再び伝送する。すなわち、従来の映像コーデックはシステム指示によりエンコーディング/デコーディング作業を単純に行う。
【0003】
従って、マルチメディア通信システムで映像コーデックを独立したプロセッサ内に具現する時、マルチメディア通信システムと映像コーデックとの間の送受信データを映像コーデック内において適切に処理する必要がある。これに適した映像コーデック構造が要求される。
【0004】
【発明が解決しようとする課題】
本発明がなそうとする技術的課題は、ホストシステムから独立したプロセッサ内に具現され、エンコーダ及びデコーダの作業を円滑にする構成要素を具備することにより、映像コーデックの性能を高める映像コーデックシステムを提供するところにある。
本発明がなそうとする他の技術的課題は、ホストシステムから独立したプロセッサ内に具現された映像コーデックシステムとそのホストシステムとの間のデータを適切に処理する方法を提供するところにある。
本発明がなそうとするさらに他の技術的課題は、ホストシステムから独立したプロセッサ内に具現された映像コーデックシステムでのエンコーディング/デコーディング制御方法を提供するところにある。
【0005】
【課題を解決するための手段】
前記課題をなすために、ホストシステムから独立したプロセッサ内に具現され、映像撮影機を通じ入力された映像データをエンコーディングするエンコーダ及び前記ホストシステムから伝送されたエンコーディングされたデータをデコーディングして映像出力機に出力するデコーダを具備した本発明による映像コーデックシステムは、
エンコーダにおいてエンコーディングされたビットストリームをホストシステムに伝送する前に一時保存するエンコーダバッファ、ホストシステムから伝送されたエンコーディングされたデータを一時保存するデコーダバッファ、エンコーダ、デコーダ、エンコーダバッファ及びデコーダバッファの作業状態をあらかじめ割当てられたビットに記録する作業状態レジスタ、エンコーダ及びデコーダが行わねばならない命令語を記録する命令識別レジスタと、ホストシステムから伝送された命令語を解析して命令識別レジスタに記録させ、作業状態レジスタを通じ各作業を確認した後で命令識別レジスタを通じエンコーダ及びデコーダを制御するインタフェース及び制御管理部を具備する。
【0006】
前記他の課題をなすために、ホストシステムから独立したプロセッサ内に具現された映像コーデックシステムとそのホストシステムとの間のデータ処理方法は、
(a)外部ホストシステムから入力されたデータが制御命令語であるのか伝送データであるのかを区分する段階、(b)制御命令語ならば、完成された命令であるのかを確認して続く命令語があれば、制御命令語を累積した後で(a)段階に進行し、続く命令語がなければ命令識別レジスタのあらかじめ割当てられたビットに行う命令語を記入する段階、(c)命令識別レジスタのあらかじめ割当てられた他のビットにエンコーダ及び/またはデコーダが行う命令があることを示す段階及び(d)エンコーダ及び/またはデコーダにおいて(c)段階で示された内容を確認し、(b)で記入された命令語をフェッチする段階を含む。
【0007】
前記さらに他の課題をなすために、ホストシステムから独立したプロセッサ内に具現された本発明による映像コーデックシステムでのエンコーディング/デコーディング制御方法は、
(a)ホストシステムから開始命令が入力されれば、エンコーダ及び/またはデコーダが行われるように映像コーデックシステム内の作業状態レジスタのあらかじめ割当てられたビットをリセットする段階、(b)エンコーダ及び/またはデコーダが(a)段階での作業状態レジスタのリセットを確認してエンコーディング及び/またはデコーディングを行ったか否かを判断する段階、(c)映像コーデックシステム内のエンコーダバッファ及びデコーダバッファが自身の状態を作業状態レジスタのあらかじめ割当てられた他のビットにそれぞれ示す段階及び(d)作業状態レジスタに記録されたエンコーダバッファ及びデコーダバッファの状態を確認した後、エンコーダ及びデコーダの作業を制御する段階を含む。
【0008】
【発明の実施の形態】
以下、本発明を添付した図面を参照して次の通り説明する。
図1は本発明による映像コーデックシステムの内部構成を説明するためのブロック図である。映像コーデックシステムはインタフェース及び制御管理機(ICM:Interface & Control Manager)110、作業状態レジスタ(TSR:Task Status Register)120、命令識別レジスタ(CIR:Command Identification Register)130、エンコーダ140、エンコーダバッファ150、デコーダ160及びデコーダバッファ170を具備する。
【0009】
ICM110は、レジスタファイルを利用して、映像コーデックシステム100外部のホストシステムのマルチメディア通信システム200から制御命令語または伝送データを受けたり、システム200に応答またはデータを伝達する。さらに、ICM110は、TSR120またはマルチメディア通信システム200からの制御命令語などを参照して、エンコーダ140及びデコーダ160の作業を制御する。ICM110は、制御命令語を分析し、分析された命令語をCIR130を通じてエンコーダ140及びデコーダ160に伝達し、必要に応じてその結果をマルチメディア通信システム200に通報する。
【0010】
エンコーダバッファ150は、エンコーダ140でエンコーディングされたビットストリームを外部ホストシステムに伝送するための一時保管場所である。エンコーダバッファ150は、エンコーダ140から入力を受け入れる前および受け入れた後、バッファの状態、例えば空(empty)レベル、充満レベル、半(half)レベル、使用者定義されたレベルなどの状態を示す。この時、エンコーダバッファの状態が入力を受け入れる条件になれなければ、エンコーダの動作が中止される。
【0011】
デコーダバッファ170は、外部ホストシステムからエンコーディングされかつ伝送されてきたビットストリームをデコーディングするのための一時保管場所である。エンコーダバッファ150と同様に、入力を受け入れる前および受け入れた後のバッファ状態を示す。さらに、デコーダバッファの状態が入力を受け入れる条件になれなければ、エンコーディングされたビットストリームは記録されない。
【0012】
TSR120は、外部ホストシステムから入力される伝送データ(すなわちエンコーディングされたビットストリーム)及び映像撮影機(図示せず)を通じエンコーダ140に入力されるエンコーディングされるべきデータを円滑にエンコーディング及びデコーディングするためのものである。具体的には、バッファ管理のために、エンコーダ140、エンコーダバッファ150、デコーダ160及びデコーダバッファ170の状態をあらかじめ割当てられたビットに記録する。ICM110は、これら各作業が他の作業と関連したジョブを実行する時、前提条件が満たされているか否かをTSR120を通じ確認する。すなわち、TSR120に保存された作業状態に基づいてエンコーダ140及びデコーダ160を制御する。次はTSR120フォーマットの一例である。
tsr[0]:エンコーダバッファが空状態ならばセット、そうでなければリセット。
tsr[1]:エンコーダバッファが充満状態ならばセット、そうでなければリセット。
tsr[2]:エンコーダバッファレベルが半分以上ならばセット、そうでなければリセット。
tsr[3]:エンコーダバッファレベルが使用者により設定された指定レベル以上ならばセット。
tsr[4]:デコーダバッファが空状態ならばセット、そうでなければリセット。
tsr[5]:デコーダバッファが充満状態ならばセット、そうでなければリセット。
tsr[6]:デコーダバッファレベルが半分以上ならばセット、そうでなければリセット。
tsr[7]:デコーダバッファレベルが使用者により設定された指定レベル以上ならばセット。
tsr[8]:セットならば、エンコーダがマスクされる。エンコーダによりアップデート。
tsr[9]:セットならば、デコーダがマスクされる。デコーダによりアップデート。
tsr[10]:セットならば、エンコーディングが許可されない。ICMによりアップデート。リセットならば、エンコーダは必要な場合に処理されうる。tsr[11]:セットならば、デコーディングが許可されない。ICMによりアップデート。リセットならば、デコーダは必要な場合に処理されうる。
tsr[12]:セットならば、エンコーダバッファがマスクされる。ICMはエンコーダバッファに対する判読アクセス不能。エンコーダバッファによりアップデート。
tsr[13]:セットならば、デコーダバッファがマスクされる。ICMはデコーダバッファに対する記録アクセス不能。デコーダバッファによりアップデート。
tsr[14]:セットならば、エンコーダバッファが許可されない。エンコーダはエンコーダバッファに記録不能。ICMによりアップデート。
tsr[15]:セットならば、デコーダバッファが許可されない。デコーダはデコーダバッファから判読不能。ICMによりアップデート。
tsr[16]:グローバルマスク。セットならば、あらゆる機能がディスエーブル。
【0013】
次に、ICM110はエンコーダ140及びデコーダ160が命令語を行うようにする必要がある時、CIR130に該当命令語を記録する。エンコーダ140及びデコーダ160は、それぞれの作業を行っていない時に、CIR130を通じて命令語の存在有無を確認して実行する。次はCIR130のフォーマットの一例である。
cir[0]:セットならば、エンコーダは実行されるべき1以上の命令を持つ。命令数はcir[2:4]に示される。
cir[1]:セットならば、デコーダは実行されるべき1以上の命令を持つ。命令数はcir[5:7]に示される。
cir[2:4]:エンコーダは、これらのビット内の数と同じ回数だけ命令を行わねばならない。命令内容はテーブルアドレス変数により指定された因子テーブル(argument table)で判読可能。
cir[5:7]:デコーダは、これらのビット内の数と同じ回数だけ命令を行わねばならない。命令内容はテーブルアドレス変数により指定された因子テーブルで判読可能。
cir[8]:エンコーダが因子テーブル内の命令を全てフェッチした後にセット。
cir[9]:デコーダが因子テーブル内の命令を全てフェッチした後にセット。
【0014】
図1で、マルチメディア通信システム200として、H.323、H.324などが適用され、エンコーダ140及びデコーダ160を具備した映像コーデックとして、H.261、H.263、MPEG−2、MPEG−4などが適用される。マルチメディア通信システム200は外部と無線または有線でデータをやり取りする。マルチメディア通信システム200は、映像に関連したデータと必要な制御命令語及び使用者入力などを映像コーデックシステム100に伝送し、エンコーディングされた映像データや各制御命令語に対する応答を必要に応じて受信する。
【0015】
マルチメディア通信システム200から映像コーデックシステム100に伝送する命令語のフォーマットは、例えば図2に図示された通りである。図2を参照すれば、命令語は、実際命令語部分とパラメータ部分とに区分される。実際命令語部分に該当する2バイトにおいて、上位のビット15〜ビット7は該当命令語の分類を示し、残りのビット6〜ビット0は該当命令語の属性を示す。
【0016】
命令語コード生成について具体的に調べると、まず、命令分類によるコードが生成される。命令分類は、例えば、com_reg[9:7]:小分類、com_reg[13:10]:中分類、com_reg[15:14]:大分類に区分される。ここで、com_reg[15:14]は、例えば00:命令のデバッグのための予約ビット、01:エンコーダに関連した命令、10:デコーダに関連した命令、11:エンコーダとデコーダまたは他のモジュールに関連した命令を示す。com_reg[13:10]は、例えばエンコーダ及びデコーダを構成する構成要素の細部機能に関連した命令を、com_reg[9:7]はより細部的な機能に関連した命令を示す。
【0017】
次に、命令属性によるコードが生成される。
com_reg[0]:命令に対応する応答の要否。エンドフラッグが0である時は命令を正しく受け入れたのかに関する応答であり、1である時は行われる命令が正しく遂行されたかに関する応答である。1:応答必要、0:応答不要。
com_reg[1]:1セット命令が完成されたか否か。
1:累積された命令を実行、0:連続された命令を持つ。
com_reg[3:2]:命令にパラメータが後続しているか否か及び数。
00:パラメータが要求されていない。
01:所定バイトのパラメータが後続する。
10:01に加えて所定バイトのパラメータがさらに後続する。
com_reg[4]:命令に該当する機能がオンであるかオフであるか。
1:オン、0:オフ。
com_reg[5]:応答が肯定応答(ACK)であるか否定応答(NAK)であるか。
1:ACK、0:NAK。
com_reg[6]:ホストからコーデックに送る命令であるのか、それに対する応答であるのか。
0:ホストからコーデックへの命令。
1:コーデックからホストへの応答。
【0018】
図3は映像コーデックシステムと外部ホストシステムとの間のデータ処理方法を説明するためのフローチャートである。外部ホストシステムは、エンコーダとデコーダの動作開始のために開始命令をICM110に伝達する。開始命令が伝えられた後のエンコーダ及びデコーダの作業遂行のための映像コーデックシステムでの動作を次の通り説明する。
【0019】
図3を参照すれば、まず、ICM110において外部ホストシステムからデータを入力する(第300段階)。入力されたデータが制御命令語であるのか伝送データであるのかを区分する(第302段階)。例えば、図2に図示された命令語フォーマットのヘッダ(図示せず)部分に1ビットの制御命令語/伝送データ識別ビットが追加される。伝送データならば、図2に図示された命令語フォーマットの代りに、識別ビットと共に伝送データが伝送される。
【0020】
制御命令語であるかを判断し(第304段階)、そうならばcom_reg[1]を通じて、完成された命令であるのかを確認する(第306段階)。続く命令語があるかを判断し(第308段階)、そうならば制御命令語を累積する(第310段階)。すなわち、CIR130においてcir[2:4]及び/またはcir[5:7]に命令語数を計数する。第310段階後に、再び第300段階に進む。すなわち、com_reg[1]の値が1である時まで前述した動作を反復する。
【0021】
第308段階において続く命令語がないと判断されれば、すなわち完成された命令ならば、CIR130においてcir[2:4]及び/またはcir[5:7]に、実行されるべき命令語、すなわち命令語数を記入する(第312段階)。記入された命令語数は第310段階において累積された結果を示す。次に、CIR130において、エンコーダ140及び/またはデコーダ160が行う命令があることを示す(第314段階)。すなわち、cir[0]及び/またはcir[1]を1にセットする。これは、ICM110において命令語を解析し、解析された結果をCIR130の該当ビットに記入する過程である。
【0022】
次に、エンコーダ140及び/またはデコーダ160においてCIR130を確認し、命令をフェッチする(第316段階)。具体的に、エンコーダ140またはデコーダ160はそれぞれ、1フレーム単位のエンコーディングまたはデコーディングが終わった後で、cir[0]またはcir[1]を確認し、cir[2:4]またはcir[5:7]において命令語をフェッチする。次に、エンコーダ140及び/またはデコーダ160において命令語を行い(すなわちエンコーディング及び/またはデコーディング作業を行った後で)、CIR130にあらゆる命令をフェッチしたことを示す(第318段階)。すなわち、cir[8]及び/またはcir[9]をセットすることにより命令が完了したことを設定する。
【0023】
次に、入力された制御命令語に対して外部ホストシステムへの応答が必要かをcom_reg[0]を見て判断する(第320段階)。外部ホストシステムが応答を要求したならば、ICM110はcom_reg[5]にACKまたはNAKを書込み、残りの命令語部分をそのままダンプしてシステムに応答する(第322段階)。さらに、ICM110は、外部ホストシステムから下された送信命令により、TSR120を通じエンコーダバッファ150の状態を確認した後、エンコーディングされたデータを判読してシステムに伝達する。
【0024】
一方、第304段階において制御命令語ではなければ、ICM110はTRS120を通じデコーダバッファ170の状態を確認した後、伝送データ、すなわちエンコーディングされたビットストリームを記入する(第324段階)。
【0025】
図4は映像コーデックシステムでのエンコーディング/デコーディング制御方法を説明するためのフローチャートである。映像コーデックシステムは、外部ホストシステムから開始命令が下されると同時に、エンコーダ及び/またはデコーダにそれぞれの作業を行わせる。
【0026】
図4を参照すれば、開始命令により、ICM110は、TSR120において、エンコーダ140及び/またはデコーダ160を動作可能にする。すなわち、tsr[10]及び/またはtsr[11]をリセットする(第400段階)。次に、エンコーダ140及び/またはデコーダ160は、TSR120において該当ビット、すなわちtsr[10]及びtsr[11]をそれぞれ確認して、エンコーディング及び/またはデコーディングを行ったか否かを判断する(第410段階)。
【0027】
エンコーダバッファ150及びデコーダバッファ170は自身の状態をそれぞれTSR120における該当ビット、すなわちtsr[0]〜tsr[3]のうち一つ及びtsr[4]〜tsr[7]のうち一つに示す(第420段階)。次に、ICM110は、TSR120に記録されたエンコーダバッファ150及びデコーダバッファ170の状態を基に、CIR130を通じエンコーダ140及びデコーダ160を制御する(第430段階)。
【0028】
実例として、エンコーダバッファ150に対し、tsr[0]=1ならば、ICM110はエンコーダ140の優先順位を上げる。tsr[1]=1ならば、エンコーダ140の実行を中止させ、tsr[10]=1、tsr[14]=1とする。tsr[2]=1ならば、tsr[0]=1の状態において一定時間が経過しない状態ならば、エンコーダ140の優先順位を下げる。一方、tsr[1]=1の状態において一定時間が経過しない状態ならば、エンコーダ140の優先順位を上げる。tsr[3]=1及びtsr[7]=1は、より精密な制御のために、開発者により指定されたものであり、tsr[2]=1及びtsr[6]=1と同様に処理される。
【0029】
デコーダバッファ170に対して、tsr[4]=1ならば、ICM110はデコーダ160の実行を中止させ、tsr[11]=1とする。tsr[5]=1ならば、デコーダバッファ170は利用不可であり、tsr[13]=1とする。tsr[6]=1ならば、tsr[4]=1の状態において一定時間が経過しない状態ならば、デコーダ160の優先順位を上げる。一方、tsr[5]=1の状態において一定時間が経過しない状態ならば、デコーダ160の優先順位を下げる。
【0030】
結果的に、ICM110は、各バッファの状態を参照して、各バッファが充満状態または空状態にならないようにエンコーダ140及びデコーダ160に中止及び開始などの制御動作を行う。
【0031】
【発明の効果】
以上において説明したように、本発明はマルチメディア通信システムから独立したプロセッサ内に映像コーデックシステムを具現し、映像コーデックシステム内にエンコーダ及びデコーダの作業を円滑にする構成要素を具備することにより、映像コーデックの性能を高め、信頼性をもち、エンコーディング及びデコーディング作業制御を容易なようにするメリットがある。さらに、本発明による映像コーデックシステムはH.261、H.263、MPEG−2、MPEG−4などが適用されるコーデック種類に拘らない制御構造を持つ。
【図面の簡単な説明】
【図1】 本発明による映像コーデックシステムの内部構成を説明するためのブロック図である。
【図2】 外部ホストシステムから映像コーデックシステムに伝送された命令語フォーマットの一例を示す図である。
【図3】 映像コーデックシステムと外部ホストシステムとのデータ処理方法を説明するためのフローチャートである。
【図4】 映像コーデックシステムでのエンコーディング/デコーディング制御方法を説明するためのフローチャートである。
【符号の説明】
100 ビデオコーデックシステム
110 ICM
120 作業状態レジストタ
130 命令識別レジスタ
140 エンコーダ
150 エンコーダバッファ
160 デコーダ
170 デコーダバッファ
200 通信システム[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a video codec, and more particularly, to a video codec system implemented in a processor independent of a host system, a data processing method between the system and an external host system, and an encoding / decoding control method in the system.
[0002]
[Prior art]
A video codec generally includes an encoder and a decoder, and performs encoding and decoding operations in a system that requires the encoder and decoder. Furthermore, data to be encoded is input from an external system and the encoded result is transmitted again, or encoded data is input and the decoded result is transmitted again. That is, the conventional video codec simply performs an encoding / decoding operation according to a system instruction.
[0003]
Therefore, when the video codec is implemented in an independent processor in the multimedia communication system, transmission / reception data between the multimedia communication system and the video codec needs to be appropriately processed in the video codec. A video codec structure suitable for this is required.
[0004]
[Problems to be solved by the invention]
A technical problem to be solved by the present invention is to provide a video codec system which is implemented in a processor independent of a host system and improves the performance of the video codec by including components that facilitate the operation of an encoder and a decoder. There is to offer.
Another technical problem to be solved by the present invention is to provide a method for appropriately processing data between a video codec system implemented in a processor independent of the host system and the host system.
Still another technical problem to be solved by the present invention is to provide an encoding / decoding control method in a video codec system implemented in a processor independent of a host system.
[0005]
[Means for Solving the Problems]
In order to achieve the above object, an encoder that is implemented in a processor independent of a host system and encodes video data input through a video camera and a video output by decoding the encoded data transmitted from the host system A video codec system according to the present invention having a decoder for outputting to a video machine,
Encoder buffer that temporarily stores an encoded bit stream before transmission to the host system, decoder buffer that temporarily stores encoded data transmitted from the host system, encoder, decoder, encoder buffer, and decoder buffer working status The operation status register that records the pre-assigned bits, the instruction identification register that records the instruction word that must be performed by the encoder and decoder, and the instruction word transmitted from the host system are analyzed and recorded in the instruction identification register. An interface and a control management unit are provided for controlling the encoder and decoder through the instruction identification register after confirming each operation through the status register.
[0006]
In order to achieve the other object, a data processing method between a video codec system embodied in a processor independent of the host system and the host system is provided as follows:
(A) a step of discriminating whether the data input from the external host system is a control command word or transmission data; (b) a command to check if it is a completed command if it is a control command word; If there is a word, the process proceeds to step (a) after accumulating the control command word, and if there is no subsequent command word, writing the command word to be assigned to a pre-assigned bit of the command identification register; A step indicating that there is an instruction to be performed by the encoder and / or decoder in another pre-allocated bit of the register; and (d) checking the content indicated in step (c) in the encoder and / or decoder; Fetching the instruction word entered in
[0007]
In order to achieve the further another object, an encoding / decoding control method in a video codec system according to the present invention embodied in a processor independent of a host system includes:
(A) resetting pre-assigned bits of the work state register in the video codec system so that the encoder and / or decoder is performed if a start command is input from the host system; (b) the encoder and / or (A) confirming reset of the working status register in step (a) to determine whether encoding and / or decoding has been performed; (c) the encoder buffer and decoder buffer in the video codec system are in their own states; And (d) checking the status of the encoder buffer and decoder buffer recorded in the work status register, and then controlling the operation of the encoder and decoder. .
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described with reference to the accompanying drawings.
FIG. 1 is a block diagram for explaining an internal configuration of a video codec system according to the present invention. The video codec system includes an interface and control manager (ICM: Interface & Control Manager) 110, a work status register (TSR) 120, a command identification register (CIR: Command Identification Register) 130, an
[0009]
The ICM 110 receives a control command word or transmission data from the
[0010]
The
[0011]
The decoder buffer 170 is a temporary storage location for decoding a bitstream encoded and transmitted from an external host system. Similar to
[0012]
The TSR 120 smoothly encodes and decodes transmission data (ie, an encoded bit stream) input from an external host system and data to be encoded input to the
tsr [0]: Set if the encoder buffer is empty, otherwise reset.
tsr [1]: Set if the encoder buffer is full, reset otherwise.
tsr [2]: Set if the encoder buffer level is more than half, otherwise reset.
tsr [3]: Set if the encoder buffer level is equal to or higher than the specified level set by the user.
tsr [4]: Set if the decoder buffer is empty, otherwise reset.
tsr [5]: Set if the decoder buffer is full, reset otherwise.
tsr [6]: Set if the decoder buffer level is more than half, otherwise reset.
tsr [7]: Set if the decoder buffer level is equal to or higher than the specified level set by the user.
tsr [8]: If set, the encoder is masked. Updated by encoder.
tsr [9]: If set, the decoder is masked. Updated by decoder.
tsr [10]: If set, encoding is not allowed. Updated by ICM. If reset, the encoder can be processed if necessary. tsr [11]: If set, decoding is not allowed. Updated by ICM. If reset, the decoder can be processed if necessary.
tsr [12]: If set, the encoder buffer is masked. ICM cannot read the encoder buffer. Updated with encoder buffer.
tsr [13]: If set, the decoder buffer is masked. ICM cannot record access to decoder buffer. Updated by decoder buffer.
tsr [14]: If set, encoder buffer is not allowed. The encoder cannot record in the encoder buffer. Updated by ICM.
tsr [15]: If set, decoder buffer is not allowed. The decoder is unreadable from the decoder buffer. Updated by ICM.
tsr [16]: Global mask. If set, all functions are disabled.
[0013]
Next, the
cir [0]: If set, the encoder has one or more instructions to be executed. The number of instructions is indicated in cir [2: 4].
cir [1]: If set, the decoder has one or more instructions to be executed. The number of instructions is shown in cir [5: 7].
cir [2: 4]: The encoder must command as many times as the number in these bits. The contents of the command can be read with the factor table specified by the table address variable.
cir [5: 7]: The decoder must execute the instruction as many times as the number in these bits. Instruction contents can be read by the factor table specified by the table address variable.
cir [8]: Set after the encoder has fetched all instructions in the factor table.
cir [9]: Set after the decoder fetches all instructions in the factor table.
[0014]
As shown in FIG. 323, H.H. 324 and the like, and as an image codec including an
[0015]
The format of the command word transmitted from the
[0016]
When the instruction word code generation is specifically examined, first, a code based on the instruction classification is generated. The instruction classification is classified into, for example, com_reg [9: 7]: minor classification, com_reg [13:10]: medium classification, and com_reg [15:14]: major classification. Here, com_reg [15:14] is, for example, 00: reserved bits for instruction debugging, 01: instructions related to encoders, 10: instructions related to decoders, 11: related to encoders and decoders or other modules Indicates the command For example, com_reg [13:10] indicates an instruction related to a detailed function of components constituting the encoder and decoder, and com_reg [9: 7] indicates an instruction related to a more detailed function.
[0017]
Next, a code with an instruction attribute is generated.
com_reg [0]: Necessity of response corresponding to the command. When the end flag is 0, it is a response regarding whether or not the command has been correctly received, and when it is 1, it is a response regarding whether or not the command to be executed has been correctly executed. 1: Response required, 0: Response not required.
com_reg [1]: whether or not the set instruction has been completed.
1: Execute accumulated instructions, 0: Have consecutive instructions.
com_reg [3: 2]: whether and how many parameters follow the instruction.
00: No parameter is requested.
01: A parameter of a predetermined byte follows.
In addition to 10:01, a parameter of a predetermined byte further follows.
com_reg [4]: Whether the function corresponding to the instruction is on or off.
1: ON, 0: OFF.
com_reg [5]: Whether the response is an acknowledgment (ACK) or a negative response (NAK).
1: ACK, 0: NAK.
com_reg [6]: Is it an instruction sent from the host to the codec or a response to it?
0: Command from the host to the codec.
1: Response from codec to host.
[0018]
FIG. 3 is a flowchart for explaining a data processing method between the video codec system and the external host system. The external host system transmits a start command to the
[0019]
Referring to FIG. 3, first, data is input from an external host system in the ICM 110 (operation 300). It is determined whether the input data is a control command word or transmission data (step 302). For example, a 1-bit control instruction word / transmission data identification bit is added to the header (not shown) portion of the instruction word format shown in FIG. In the case of transmission data, the transmission data is transmitted together with an identification bit instead of the command format shown in FIG.
[0020]
It is determined whether it is a control command word (step 304), and if so, it is confirmed through com_reg [1] whether it is a completed command (step 306). It is determined whether there is a subsequent instruction word (step 308). If so, the control instruction word is accumulated (step 310). That is, in the
[0021]
If it is determined in
[0022]
Next, the
[0023]
Next, it is determined whether or not a response to the external host system is required for the input control command word by looking at com_reg [0] (step 320). If the external host system requests a response, the
[0024]
On the other hand, if it is not a control command in
[0025]
FIG. 4 is a flowchart for explaining an encoding / decoding control method in the video codec system. The video codec system causes the encoder and / or the decoder to perform respective operations at the same time when a start command is issued from the external host system.
[0026]
Referring to FIG. 4, the start instruction causes the
[0027]
The
[0028]
Illustratively, if tsr [0] = 1 for
[0029]
If tsr [4] = 1 for the decoder buffer 170, the
[0030]
As a result, the
[0031]
【The invention's effect】
As described above, the present invention implements a video codec system in a processor independent of the multimedia communication system, and includes components that facilitate the work of the encoder and decoder in the video codec system. There are merits of improving the performance of the codec, having reliability, and facilitating control of encoding and decoding operations. Furthermore, the video codec system according to the present invention is an H.264 standard. 261, H.H. It has a control structure irrespective of the codec type to which H.263, MPEG-2, MPEG-4, etc. are applied.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an internal configuration of a video codec system according to the present invention.
FIG. 2 is a diagram illustrating an example of an instruction word format transmitted from an external host system to a video codec system.
FIG. 3 is a flowchart for explaining a data processing method between a video codec system and an external host system.
FIG. 4 is a flowchart for explaining an encoding / decoding control method in a video codec system.
[Explanation of symbols]
100
120
Claims (4)
前記エンコーダにおいてエンコーディングされたビットストリームを前記ホストシステムに伝送する前に一時保存するエンコーダバッファと、
前記ホストシステムから伝送されたエンコーディングされたデータを一時保存するデコーダバッファと、
前記エンコーダ、デコーダ、エンコーダバッファ及びデコーダバッファの作業状態をあらかじめ割当てられたビットに記録する作業状態レジスタと、
前記エンコーダ及びデコーダが実行されるべき命令語の状態に関する情報を保持する命令識別レジスタと、
前記ホストシステムから伝送された命令語を解析して前記命令識別レジスタに記録させ、前記作業状態レジスタを通じて各作業を確認した後で前記命令識別レジスタを通じて前記エンコーダ及びデコーダを制御するインタフェース及び制御管理部と
を具備することを特徴とする映像コーデックシステム。An encoder embodied in a processor independent of a host system and encoding video data input through a video camera, and a decoder for decoding encoded data transmitted from the host system and outputting the decoded data to a video output device Video codec system
An encoder buffer that temporarily stores a bitstream encoded in the encoder before transmission to the host system;
A decoder buffer for temporarily storing encoded data transmitted from the host system;
A working status register that records the working status of the encoder, decoder, encoder buffer and decoder buffer in pre-assigned bits;
An instruction identification register holding information about the state of the instruction word to be executed by the encoder and decoder
An interface and control management unit that analyzes the instruction word transmitted from the host system, records the instruction word in the instruction identification register, checks each operation through the work status register, and controls the encoder and decoder through the instruction identification register And a video codec system.
自身の状態を少なくとも空レベル、充満レベル、半レベル及び使用者定義されたレベルのうちの一つで示したビットを含むことを特徴とする請求項1に記載の映像コーデックシステム。The encoder buffer and decoder buffer are each
The video codec system according to claim 1, further comprising a bit indicating its own state at least one of an empty level, a full level, a half level, and a user-defined level.
少なくとも、前記エンコーダ及びデコーダによって実行される1以上の命令があることを示したビット、実行される命令語数を示したビット及び前記エンコーダ及びデコーダが命令を全てフェッチしたことを示したビットを含むことを特徴とする請求項1に記載の映像コーデックシステム。The instruction identification register is
At least a bit indicating that there is one or more instructions executed by the encoder and decoder, a bit indicating the number of instruction words to be executed, and a bit indicating that the encoder and decoder have fetched all instructions The video codec system according to claim 1.
(a)ホストシステムから開始命令が入力されれば、エンコーダ及び/またはデコーダが動作可能なように前記映像コーデックシステム内の作業状態レジスタのあらかじめ割当てられたビットをリセットする段階と、
(b)エンコーダ及び/またはデコーダが前記(a)段階での前記作業状態レジスタのリセットを確認することによってエンコーディング及び/またはデコーディングを行ったか否かを判断する段階と、
(c)前記映像コーデックシステム内のエンコーダバッファ及びデコーダバッファが自身の状態を前記作業状態レジスタのあらかじめ割当てられた他のビットにそれぞれ示す段階と、
(d)前記作業状態レジスタに記録された前記エンコーダバッファ及びデコーダバッファの状態を確認した後、前記エンコーダ及びデコーダの作業を制御する段階と
を含むことを特徴とする映像コーデックシステムでのエンコーディング/デコーディング制御方法。In an encoding / decoding control method in a video codec system implemented in a processor independent of a host system,
(A) resetting a pre-assigned bit of a work status register in the video codec system so that an encoder and / or decoder can operate if a start command is input from the host system;
(B) determining whether the encoder and / or decoder has performed encoding and / or decoding by confirming the reset of the working status register in step (a);
(C) an encoder buffer and a decoder buffer in the video codec system each indicating its own state to other pre-assigned bits of the working state register;
(D) checking the status of the encoder buffer and decoder buffer recorded in the work status register and then controlling the work of the encoder and decoder, and encoding / decoding in a video codec system, Coding control method.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US21652700P | 2000-07-06 | 2000-07-06 | |
KR200056606 | 2000-09-27 | ||
KR216,527 | 2000-09-27 | ||
KR1020000056606A KR100354768B1 (en) | 2000-07-06 | 2000-09-27 | Video codec system, method for processing data between the system and host system and encoding/decoding control method in the system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002118852A JP2002118852A (en) | 2002-04-19 |
JP3662523B2 true JP3662523B2 (en) | 2005-06-22 |
Family
ID=26638422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001205181A Expired - Fee Related JP3662523B2 (en) | 2000-07-06 | 2001-07-05 | Video codec system, data processing method between the system and external host system, and encoding / decoding control method in the system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP3662523B2 (en) |
CN (1) | CN1220387C (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552256B2 (en) * | 2017-05-08 | 2020-02-04 | Samsung Electronics Co., Ltd. | Morphable ECC encoder/decoder for NVDIMM over DDR channel |
-
2001
- 2001-01-20 CN CNB01101704XA patent/CN1220387C/en not_active Expired - Fee Related
- 2001-07-05 JP JP2001205181A patent/JP3662523B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1220387C (en) | 2005-09-21 |
CN1333633A (en) | 2002-01-30 |
JP2002118852A (en) | 2002-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0714213A3 (en) | MPEG2 transport decoder | |
CN112839231B (en) | Video compression transmission method and system | |
US6571362B1 (en) | Method and system of reformatting data blocks for storage as larger size data blocks | |
US7725905B1 (en) | Media accelerator interface API | |
JP3662523B2 (en) | Video codec system, data processing method between the system and external host system, and encoding / decoding control method in the system | |
KR100354768B1 (en) | Video codec system, method for processing data between the system and host system and encoding/decoding control method in the system | |
JP2010183248A (en) | Moving image recording device | |
JP2007215149A (en) | Memory card with function of video/audio data processing | |
CN113645192A (en) | RTP data packet processing method and device | |
JP2010140503A (en) | Method and system for providing unified data exchange and storage format | |
TWI254857B (en) | Method and apparatus for converting an external memory access into a local memory access in a processor core | |
JP4748807B2 (en) | Decoding circuit | |
JP3483738B2 (en) | Data communication device | |
EP1715587A1 (en) | Encoding/decoding device | |
TWI846541B (en) | Image processing accelerator device and image processing acceleration method | |
TWI783465B (en) | Method for transmitting data and data processing circuit | |
WO2022183841A1 (en) | Decoding method and device, and computer readable storage medium | |
US7773863B2 (en) | Data decoding device, data decoding method, semiconductor integrated circuit and data decoding system, using tag added to data pack | |
JP2005141677A (en) | Communication library for ic card and the ic card | |
JPH1074140A (en) | Data transferring method decoding device, data transfer device, and data processor | |
JPS607524A (en) | Recording carrier reader | |
JP3157794B2 (en) | Peripheral control processor | |
CN113067581A (en) | Decoding system, decoding method, electronic device, and storage medium | |
CN104102619A (en) | Method and system of first operating system operating DSP (digital signal processing) of second operating system | |
JPH11103330A (en) | Infrared ray data transmission method and system therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050125 |
|
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: 20050222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050323 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |