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 PDF

Info

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
Application number
JP2001205181A
Other languages
Japanese (ja)
Other versions
JP2002118852A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020000056606A external-priority patent/KR100354768B1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2002118852A publication Critical patent/JP2002118852A/en
Application granted granted Critical
Publication of JP3662523B2 publication Critical patent/JP3662523B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 encoder 140, an encoder buffer 150, A decoder 160 and a decoder buffer 170 are provided.
[0009]
The ICM 110 receives a control command word or transmission data from the multimedia communication system 200 of the host system outside the video codec system 100 using the register file, and transmits a response or data to the system 200. Further, the ICM 110 controls the operations of the encoder 140 and the decoder 160 with reference to a control command word from the TSR 120 or the multimedia communication system 200. The ICM 110 analyzes the control instruction word, transmits the analyzed instruction word to the encoder 140 and the decoder 160 through the CIR 130, and notifies the multimedia communication system 200 of the result as necessary.
[0010]
The encoder buffer 150 is a temporary storage location for transmitting the bit stream encoded by the encoder 140 to an external host system. The encoder buffer 150 indicates the state of the buffer before and after accepting input from the encoder 140, such as an empty level, a full level, a half level, a user-defined level, and the like. At this time, if the state of the encoder buffer does not satisfy the condition for accepting input, the operation of the encoder is stopped.
[0011]
The decoder buffer 170 is a temporary storage location for decoding a bitstream encoded and transmitted from an external host system. Similar to encoder buffer 150, the buffer state is shown before and after accepting input. Furthermore, the encoded bit stream is not recorded unless the state of the decoder buffer is a condition for accepting input.
[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 encoder 140 through a video camera (not shown). belongs to. Specifically, for buffer management, the states of the encoder 140, the encoder buffer 150, the decoder 160, and the decoder buffer 170 are recorded in bits assigned in advance. When each of these operations executes a job related to another operation, the ICM 110 checks whether or not the precondition is satisfied through the TSR 120. That is, the encoder 140 and the decoder 160 are controlled based on the work state stored in the TSR 120. The following is an example of the TSR120 format.
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 ICM 110 records the corresponding instruction word in the CIR 130 when the encoder 140 and the decoder 160 need to perform the instruction word. The encoder 140 and the decoder 160 check the presence / absence of an instruction word through the CIR 130 and execute it when the respective operations are not performed. The following is an example of the format of CIR130.
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 encoder 140 and a decoder 160, H.264 is used. 261, H.H. H.263, MPEG-2, MPEG-4, etc. are applied. The multimedia communication system 200 exchanges data with the outside wirelessly or by wire. The multimedia communication system 200 transmits video-related data, necessary control command words, user input, and the like to the video codec system 100, and receives encoded video data and responses to the control command words as necessary. To do.
[0015]
The format of the command word transmitted from the multimedia communication system 200 to the video codec system 100 is, for example, as illustrated in FIG. Referring to FIG. 2, the instruction word is divided into an actual instruction word portion and a parameter portion. In the 2 bytes corresponding to the actual instruction word portion, the upper bits 15 to 7 indicate the classification of the corresponding instruction word, and the remaining bits 6 to 0 indicate the attribute of the corresponding instruction word.
[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 ICM 110 to start operation of the encoder and decoder. The operation of the video codec system for performing the work of the encoder and decoder after the start command is transmitted will be described as follows.
[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 CIR 130, the number of instruction words is counted for cir [2: 4] and / or cir [5: 7]. After step 310, the process proceeds to step 300 again. That is, the above-described operation is repeated until the value of com_reg [1] is 1.
[0021]
If it is determined in step 308 that there is no instruction word that follows, that is, if it is a completed instruction, the instruction word to be executed, ie, cir [2: 4] and / or cir [5: 7] in the CIR 130, that is, Enter the number of command words (step 312). The number of command words entered indicates the result accumulated in step 310. Next, the CIR 130 indicates that there is an instruction to be performed by the encoder 140 and / or the decoder 160 (step 314). That is, cir [0] and / or cir [1] are set to 1. This is a process in which an instruction word is analyzed in the ICM 110 and the analyzed result is written in a corresponding bit of the CIR 130.
[0022]
Next, the CIR 130 is confirmed in the encoder 140 and / or the decoder 160, and an instruction is fetched (step 316). Specifically, the encoder 140 or the decoder 160 confirms cir [0] or cir [1] after encoding or decoding in units of one frame, and cir [2: 4] or cir [5: 7] fetch the instruction word. Next, an instruction word is performed in the encoder 140 and / or the decoder 160 (that is, after performing encoding and / or decoding operations) to indicate that all instructions are fetched to the CIR 130 (step 318). That is, it is set that the instruction is completed by setting cir [8] and / or cir [9].
[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 ICM 110 writes ACK or NAK to com_reg [5], dumps the remaining instruction word part as it is, and responds to the system (step 322). Further, the ICM 110 checks the state of the encoder buffer 150 through the TSR 120 according to a transmission command issued from the external host system, and then reads the encoded data and transmits it to the system.
[0024]
On the other hand, if it is not a control command in step 304, the ICM 110 checks the state of the decoder buffer 170 through the TRS 120, and then fills in the transmission data, that is, the encoded bit stream (step 324).
[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 ICM 110 to enable the encoder 140 and / or the decoder 160 in the TSR 120. That is, tsr [10] and / or tsr [11] are reset (step 400). Next, the encoder 140 and / or the decoder 160 checks corresponding bits in the TSR 120, that is, tsr [10] and tsr [11], respectively, and determines whether encoding and / or decoding has been performed (No. 410). Stage).
[0027]
The encoder buffer 150 and the decoder buffer 170 indicate their states in the corresponding bits in the TSR 120, that is, one of tsr [0] to tsr [3] and one of tsr [4] to tsr [7] (first 420 stage). Next, the ICM 110 controls the encoder 140 and the decoder 160 through the CIR 130 based on the states of the encoder buffer 150 and the decoder buffer 170 recorded in the TSR 120 (operation 430).
[0028]
Illustratively, if tsr [0] = 1 for encoder buffer 150, ICM 110 increases the priority of encoder 140. If tsr [1] = 1, the execution of the encoder 140 is stopped, and tsr [10] = 1 and tsr [14] = 1. If tsr [2] = 1, the priority of the encoder 140 is lowered if a fixed time has not elapsed in the state of tsr [0] = 1. On the other hand, if tsr [1] = 1 does not elapse for a certain time, the priority order of the encoder 140 is increased. tsr [3] = 1 and tsr [7] = 1 are specified by the developer for more precise control, and are processed in the same manner as tsr [2] = 1 and tsr [6] = 1. Is done.
[0029]
If tsr [4] = 1 for the decoder buffer 170, the ICM 110 stops the execution of the decoder 160 and sets tsr [11] = 1. If tsr [5] = 1, the decoder buffer 170 cannot be used, and tsr [13] = 1. If tsr [6] = 1, the priority of the decoder 160 is increased if a fixed time does not elapse in the state of tsr [4] = 1. On the other hand, if the fixed time does not elapse in the state of tsr [5] = 1, the priority of the decoder 160 is lowered.
[0030]
As a result, the ICM 110 refers to the state of each buffer and performs control operations such as stopping and starting the encoder 140 and the decoder 160 so that each buffer does not become full or empty.
[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 Video codec system 110 ICM
120 Work Status Registrar 130 Instruction Identification Register 140 Encoder 150 Encoder Buffer 160 Decoder 170 Decoder Buffer 200 Communication System

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.
JP2001205181A 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 Expired - Fee Related JP3662523B2 (en)

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)

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

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