JPH06224776A - 復号装置 - Google Patents

復号装置

Info

Publication number
JPH06224776A
JPH06224776A JP902193A JP902193A JPH06224776A JP H06224776 A JPH06224776 A JP H06224776A JP 902193 A JP902193 A JP 902193A JP 902193 A JP902193 A JP 902193A JP H06224776 A JPH06224776 A JP H06224776A
Authority
JP
Japan
Prior art keywords
code
length code
variable length
decoding
decoder
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.)
Granted
Application number
JP902193A
Other languages
English (en)
Other versions
JP3190755B2 (ja
Inventor
Tatsuhiko Demura
達彦 出村
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP902193A priority Critical patent/JP3190755B2/ja
Priority to US08/184,920 priority patent/US5469273A/en
Publication of JPH06224776A publication Critical patent/JPH06224776A/ja
Application granted granted Critical
Publication of JP3190755B2 publication Critical patent/JP3190755B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

(57)【要約】 【構成】 符号列から可変長符号を切り出して固定長符
号の復号を自走する可変長符号デコーダ101と、符号
列の終了コードを格納するレジスタ102と、終了コー
ドと符号列を比較する比較装置103と、符号列から固
定長符号を切り出したり、符号を基にデータ処理する中
央処理装置104と、離散コサイン係数を格納するメモ
リ105と、データ処理されたパラメータを格納するメ
モリ106と、離散コサイン係数やパラメータから画像
を復元する画像復元器107と、中央処理装置104か
ら可変長符号デコーダ101へのスタート信号108
と、比較装置103から中央処理装置104と可変長符
号デコーダ101へのエンド信号109とから構成され
ている。 【効果】 処理時間の短縮と回路規模の縮小化が可能と
なる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ディジタル画像信号
の伝送または記録に適用される可変長符号と固定長符号
が混在する信号を復号するための復号装置に関する。
【0002】
【従来の技術】近年、音声や映像をディジタル信号で伝
送、記録を行なうために信号圧縮技術の開発が盛んであ
る。特に動画像信号については情報量が非常に多いため
ディジタルにおける伝送、記録には高能率符号化は欠か
せないものとなっている。現在、動画像の高能率符号化
において主に用いられている技術としては直交変換、ラ
ンレングス、可変長符号、動き補償などがある。
【0003】特に可変長符号についてはより少ない符号
語長および符号語数で可逆符号を行なえるため、広く用
いられている。伝送、記録などを行なうための符号化方
式規格においては可変長符号と固定長符号を混在させる
ことが多い。
【0004】いくつかの符号化方式に対応する場合や符
号化方式がいくつかのモードを持っていた場合はプログ
ラマブルである必要性がある。従来の方式では圧縮され
た符号のレートが遅い場合は、復号はプログラムが容易
なマイクロプロセッサで行なっていた。また、マイクロ
プロセッサによるソフトウェア処理では間に合わない場
合には可変長符号の復号専用ブロックを用いてマイクロ
プロセッサの管理下で1符号語ずつデコードを行なって
いた。
【0005】この復号専用のブロック図を図3に、その
動作手順を図4に示す。この方式では可変長符号デコー
ダ(復号器)301は中央処理装置302のアクセラレ
ータのように扱われる。中央処理装置302では固定長
符号の切り出し、デコードと動き補償のためのベクトル
計算などを行なう。
【0006】この方式の動作は以下のように行われる。
可変長符号の復号は中央処理装置302上の命令で可変
長符号デコーダ301の起動が行われたら、中央処理装
置302は可変長符号デコーダ301にスタート信号3
03とテーブル選択信号を送り、命令実行を止める(図
4a)。
【0007】スタート信号303を受けた可変長符号デ
コーダ301はテーブル選択信号に基づき入力符号を先
頭から可変長符号の復号を行なう(b)。可変長符号デ
コーダ301が処理を終了したらエンド信号304と復
号した可変長符号の符号長を中央処理装置302に送る
(c)。エンド信号304を受け取った中央処理装置3
02は符号長だけ入力符号を進めて命令実行を再開する
(d)。
【0008】このような方式の場合、映像信号などを圧
縮した符号では可変長符号にした画素情報が連続して存
在するため、その間中央処理装置302は止まってしま
うことになり、中央処理装置302で行なうデータ処理
が一定時間内で終わらなくなる。
【0009】現行TV放送やHDTVの規格を満たすこ
とのできる符号化方式ではデコーダ301の動作レート
と画素レートが近くなっているため、例えば可変長符号
である画素情報が画素数分あるような最悪条件ではマイ
クロプロセッサでの固定長符号の解読、動きベクトルの
計算、可変長符号デコーダ301へ命令を渡すことによ
るオーバーヘッドなどでリアルタイムに復号ができなか
った。
【0010】また、別の方式として可変長符号が連続す
る部分だけ、文法解釈と可変長符号の復号を可変長符号
デコーダ301で自走させる方式もある。この方式では
文法が1つでない場合、例えばモードを幾つか持ってい
た場合やいろいろな符号化方式に対応しようとしたと
き、文法解釈のための回路を複数持つ必要があるため、
可変長符号デコーダ301の数が増加し、全体的な回路
規模が大きくなる欠点があった。
【0011】
【発明が解決しようとする課題】このように従来の復号
装置では、リアルタイム性が失われたり、回路規模が増
大するなどの欠点があった。
【0012】そこで、この発明は、上記事情を考慮して
なされたもので、その目的とするところは、予め設定し
た終了条件で止まるまで、可変長符号デコーダに復号を
自走させ、可変長符号復号と中央処理装置におけるデー
タ処理を並列に動作させることにより、処理時間を短縮
し、かつ回路規模を縮小化することができる復号装置を
提供することにある。
【0013】
【課題を解決するための手段】上記の課題を解決するた
めに、この発明は、ディジタル符号列の中から可変長符
号及び固定長符号を切り出す手段と、固定長符号及び復
号した可変長符号を基にデータ処理する手段と、切り出
された可変長符号の復号を自走する手段と、前記自走手
段に復号開始命令を与える手段と、前記自走手段を停止
させる条件を設定する手段と、前記停止させる条件と復
号前の可変長符号とを比較する手段と、前記比較する手
段の比較結果によって可変長符号の復号が終了したこと
を前記データ処理する手段に知らせる手段とから構成さ
れている。
【0014】
【作用】上述の構成により、この発明は、データ処理手
段となる中央処理装置が可変長符号を入力すると、復号
を自走する手段となる可変長符号デコーダに復号開始命
令を与える。復号される前の可変長符号と予め設定され
た停止条件とを比較手段が比較し、停止条件となるまで
可変長符号デコーダは復号を自走する。
【0015】可変長符号デコーダが復号中は、中央処理
装置はデータ処理を行えるので処理時間が短縮でき、か
つプログラムが簡略化できる。
【0016】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
【0017】実施例1 図1は、この発明の復号装置にかかわる一実施例の構成
を示すブロック図である。本実施例では動画像が離散コ
サイン変換と動き補償によって圧縮された符号列が伝送
されるものとする。符号列は動き補償から求められた動
きベクトルを再構築可能な幾つかのパラメータに分けら
れた固定長符号と、可変長符号で表される離散コサイン
係数のランレングス符号とで構成されているものとす
る。
【0018】同図において、この復号装置は、連続した
符号列から可変長符号を切り出して固定長符号に復号す
る可変長符号デコーダ101と、符号列に含まれている
離散コサイン係数の終了コードを格納しておくレジスタ
102と、レジスタ102に格納されている終了コード
と符号列を比較する比較装置103と、符号列から固定
長符号を切り出したり、符号列から得られた値を基にし
てデータ処理する中央処理装置104と、離散コサイン
係数を格納するメモリ105と、動きベクトルなどのい
くつかのパラメータを格納するメモリ106と、伝送さ
れてきた離散コサイン係数や動きベクトルなどのさまざ
まなパラメータから画像を復元するための画像復元器1
07と、中央処理装置104から可変長符号デコーダ1
01へのスタート信号108と、比較装置103から中
央処理装置104と可変長符号デコーダ101へのエン
ド信号109とから構成されている。
【0019】事前に外部より離散コサイン係数の終了を
示すコードとなるべき値をレジスタ102に格納してお
く。入力された符号列は可変長符号デコーダ101と中
央処理装置104に入力される。中央処理装置104は
内部のプログラムによって符号列に含まれる固定長符号
の解読を行い、動きベクトルなどの各種パラメータはメ
モリ106に格納していく。
【0020】プログラムにより符号列の次のパラメータ
が可変長符号である離散コサイン係数であるとわかる
と、中央処理装置104はプログラムにより可変長符号
デコーダ101に次の符号列以降を可変長符号として復
号させるためのスタート信号108を与える。可変長符
号デコーダ101が復号中は中央処理装置104は動き
ベクトルの再構築やその他のパラメータの処理を行う。
【0021】可変長符号デコーダ101は中央処理装置
104からスタート信号108が与えられた入力符号列
から可変長符号を切り出しながら固定長符号への復号を
行い、離散コサイン係数をメモリ106に格納する。
【0022】比較装置103は次の復号される前の符号
とレジスタ102の値とを比較し、次の符号が離散コサ
イン係数の終了コードでなければ可変長符号デコーダ1
01は次の符号に対しても可変長符号復号を行う。ま
た、次の符号が終了コードであれば比較装置103はエ
ンド信号109を出力して可変長符号デコーダ101の
動作を止め、中央処理装置104に対しても離散コサイ
ン係数のデコードの終了を示すエンド信号109を与え
る。
【0023】中央処理装置104は離散コサイン係数の
デコードの終了を示すエンド信号109が与えられたら
それまで行っていた処理を止めて割り込み処理を行う。
割り込み処理では次の符号が離散コサイン係数であった
場合は、再度可変長符号デコーダ101にスタート信号
108を与え、元の処理に戻る。
【0024】また、次の符号が離散コサイン係数でない
場合は何もせずに割り込み処理をやめて元の処理に戻
る。中央処理装置104で再構成された動きベクトルや
パラメータと離散コサイン係数により画像復元器107
は画像を再構築し、外部に画像を出力する。
【0025】実施例2 MPEG規格の符号列をデコードする場合を例として説明す
る。図2に本実施例のブロック図を示す。同図におい
て、この復号装置は、図1で示した復号装置に中央処理
装置204が可変長符号デコーダ201に可変長符号か
ら固定長符号への復号を1つの符号のみ行わせる信号2
10と、可変長符号デコーダ201に1符号の復号が終
了したことを中央処理装置204に教える信号211
と、1符号の復号結果212とを追加した構成となって
いる。
【0026】符号列は中央処理装置204、可変長符号
デコーダ201ともに入力される。符号列中のsequenc
e,gop,pictureの各レイヤーでは可変長符号は存在しな
いので中央処理装置204で固定長符号の処理を行い、
復号されたデータをメモリ206に格納する。
【0027】マクロブロックレイヤー内の可変長符号は
連続していないので次の符号が可変長符号であると中央
処理装置204は可変長符号デコーダ201に1つの符
号を復号させる信号210を与え、動作を停止する。可
変長符号デコーダ201は1つの符号の復号だけを行
い、デコード終了後復号結果212と終了信号211を
中央処理装置204に渡す。
【0028】中央処理装置204は復号結果212と終
了信号211を受け取り、その復号結果212をメモリ
206に格納し、次の固定長符号の復号を再開する。ブ
ロックレイヤーでは IntraマクロブロックではDC成分は
固定長で伝送され、AC成分はランレングス符号で可変長
符号として伝送され、終了コード eobというコードで可
変長符号列は終了する。
【0029】また、非 Intraマクロブロックでは動き補
償によって参照画像との差分値がランレングス符号で可
変長符号として伝送される。これらの時の動作は事前に
終了コードを格納するレジスタ202に eobコードを格
納しておく。DC成分は中央処理装置204で復号を行
う。
【0030】それ以降、または非 Intraマクロブロック
の場合には可変長符号として連続して伝送されてくるの
で、実施例1と同様に、可変長符号デコーダ201に自
走して符号を連続して復号させるスタート信号208を
与え、中央処理装置204は動きベクトルの再構築や次
の符号の復号のための処理を行う。
【0031】可変長符号デコーダ201は符号のデコー
ドを行い、次の符号が終了コードでなければ復号結果を
メモリ205に格納し、次の符号の復号を行う。次の符
号が終了コードであれば中央処理装置204にエンド信
号209を返す。
【0032】このとき、中央処理装置204は別の処理
を実行中であるが、このエンド信号209を割り込み信
号として割り込み処理に入る。割り込み処理では、次に
また連続した可変長符号が続いていれば再度可変長符号
デコーダ201に連続して復号させるスタート信号20
8を与える。
【0033】
【発明の効果】以上説明したように、本発明の復号装置
によれば、可変長符号の復号を自走する手段と、終了条
件を設定する手段と、終了条件と符号列を比較する手段
とを備えている。これにより、可変長符号の復号中にデ
ータ処理を行なうことができるため、処理時間の短縮と
回路規模の縮小化が可能となる。
【図面の簡単な説明】
【図1】この発明の実施例1に係わる復号装置の構成を
示すブロック図である。
【図2】この発明の実施例2に係わる復号装置の構成を
示すブロック図である。
【図3】従来の一般的な復号装置のブロック図である。
【図4】従来の一般的な復号装置の動作手順を示すタイ
ミングチャートである。
【符号の説明】
101,201 可変長符号デコーダ(復号器) 102,202 レジスタ 103,203 比較装置 104,204 中央処置装置 105,205 メモリ 106,206 メモリ 107,207 画像復元器

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ディジタル符号列の中から可変長符号及
    び固定長符号を切り出す手段と、 固定長符号及び復号した可変長符号を基にデータ処理す
    る手段と、 切り出された可変長符号の復号を自走する手段と、 前記自走手段に復号開始命令を与える手段と、 前記自走手段を停止させる条件を設定する手段と、 前記停止させる条件と復号前の可変長符号とを比較する
    手段と、 前記比較する手段の比較結果によって可変長符号の復号
    が終了したことを前記データ処理する手段に知らせる手
    段とを具備し、 可変長符号と固定長符号の混在した符号列の復号をプロ
    グラマブルに行なうことができることを特徴とする復号
    装置。
JP902193A 1993-01-22 1993-01-22 復号装置 Expired - Fee Related JP3190755B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP902193A JP3190755B2 (ja) 1993-01-22 1993-01-22 復号装置
US08/184,920 US5469273A (en) 1993-01-22 1994-01-24 Decoding system having parallel-processing capability therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP902193A JP3190755B2 (ja) 1993-01-22 1993-01-22 復号装置

Publications (2)

Publication Number Publication Date
JPH06224776A true JPH06224776A (ja) 1994-08-12
JP3190755B2 JP3190755B2 (ja) 2001-07-23

Family

ID=11709007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP902193A Expired - Fee Related JP3190755B2 (ja) 1993-01-22 1993-01-22 復号装置

Country Status (2)

Country Link
US (1) US5469273A (ja)
JP (1) JP3190755B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111699497A (zh) * 2018-02-09 2020-09-22 谷歌有限责任公司 使用离散潜变量的序列模型的快速解码

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0723389A (ja) * 1993-06-28 1995-01-24 Toshiba Corp 画像処理装置
JP3031152B2 (ja) * 1993-12-24 2000-04-10 日本電気株式会社 動き予測プロセッサ及び動き予測装置
JPH08116447A (ja) * 1994-10-18 1996-05-07 Fuji Xerox Co Ltd 画像信号の符号化装置
JP3732867B2 (ja) * 1995-03-09 2006-01-11 株式会社ルネサステクノロジ 画像伸張装置
EP1802138A3 (en) * 1995-03-15 2008-11-12 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US6704494B1 (en) * 1995-03-15 2004-03-09 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US6075906A (en) * 1995-12-13 2000-06-13 Silicon Graphics Inc. System and method for the scaling of image streams that use motion vectors
US5686916A (en) * 1995-12-28 1997-11-11 Philips Electronics North America Corp. Multi-code-book variable length decoder
US6192073B1 (en) 1996-08-19 2001-02-20 Samsung Electronics Co., Ltd. Methods and apparatus for processing video data
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
US8913667B2 (en) * 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US6618445B1 (en) * 2000-11-09 2003-09-09 Koninklijke Philips Electronics N.V. Scalable MPEG-2 video decoder
EP1217843B1 (en) * 2000-12-19 2012-11-28 Canon Kabushiki Kaisha Image processing method, apparatus, and storage medium
US6963613B2 (en) * 2002-04-01 2005-11-08 Broadcom Corporation Method of communicating between modules in a decoding system
US7209266B2 (en) * 2002-12-06 2007-04-24 Kabushiki Kaisha Toshiba Image processing apparatus
ITMI20031079A1 (it) * 2003-05-29 2004-11-30 St Microelectronics Srl Metodo ed apparato per dedificare immagini digitali
WO2008018324A1 (en) * 2006-08-08 2008-02-14 Panasonic Corporation Image encoding device, its method, and its integrated circuit
CN101335897B (zh) * 2007-06-28 2010-08-25 联想(北京)有限公司 图像压缩/解码方法及系统
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
JP2013009272A (ja) * 2011-06-27 2013-01-10 Toshiba Corp 画像符号化装置、方法及びプログラム、並びに、画像復号化装置、方法及びプログラム
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5564445A (en) * 1978-11-08 1980-05-15 Nec Corp Code converter circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111699497A (zh) * 2018-02-09 2020-09-22 谷歌有限责任公司 使用离散潜变量的序列模型的快速解码

Also Published As

Publication number Publication date
US5469273A (en) 1995-11-21
JP3190755B2 (ja) 2001-07-23

Similar Documents

Publication Publication Date Title
JPH06224776A (ja) 復号装置
USRE48845E1 (en) Video decoding system supporting multiple standards
KR100562116B1 (ko) 처리 효율을 높인 영상음성 처리장치
US8005147B2 (en) Method of operating a video decoding system
US5576765A (en) Video decoder
KR101158345B1 (ko) 디블록킹 필터링을 수행하는 방법 및 시스템
US5850258A (en) High level video decoding apparatus capable of decoding video data of a plurality of channels coded at a lower level
US8111753B2 (en) Video encoding method and video encoder for improving performance
US5973744A (en) Apparatus for decoding video data
JP2002112268A (ja) 圧縮画像データ復号装置
JP2829246B2 (ja) 画像伸張装置
US7675972B1 (en) System and method for multiple channel video transcoding
JP3410669B2 (ja) 映像音声処理装置
CN112449183B (zh) 视频编码器、视频解码器以及视频系统
JPH07114533A (ja) 逆離散コサイン変換器
JPH1070725A (ja) 動画像符号化装置及び動画像復号装置
JP3861317B2 (ja) 可変長復号装置
US20030223498A1 (en) Video encoding method and video encoder for improving performance
JPH0366228A (ja) ブロック符号化装置と復号化装置
JPH09261641A (ja) 圧縮画像データ処理方法及び装置
JPH07135652A (ja) 静止画データの圧縮方法及び装置、静止画データの伸長方法及び装置
JP3642530B2 (ja) 動画像復号化装置
JPH1022832A (ja) 多段化可変長符号復号装置
JPH07298257A (ja) 画像データの伝送方法及び復号化装置
JPH118853A (ja) 画像圧縮伸張装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees