JP2006080663A - 映像符号化装置 - Google Patents

映像符号化装置 Download PDF

Info

Publication number
JP2006080663A
JP2006080663A JP2004260055A JP2004260055A JP2006080663A JP 2006080663 A JP2006080663 A JP 2006080663A JP 2004260055 A JP2004260055 A JP 2004260055A JP 2004260055 A JP2004260055 A JP 2004260055A JP 2006080663 A JP2006080663 A JP 2006080663A
Authority
JP
Japan
Prior art keywords
quantization scale
video
voice
arrival direction
code
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.)
Withdrawn
Application number
JP2004260055A
Other languages
English (en)
Inventor
Fumitaka Nakayama
文貴 中山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004260055A priority Critical patent/JP2006080663A/ja
Publication of JP2006080663A publication Critical patent/JP2006080663A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】
音声を発している物体に対する映像部分を高精細に符号化する。
【解決手段】
音声信号到来方向検出回路104は、マイク101からの複数方向の音声信号から音声到来方向を検出する。コントローラ116は、アクティビティ算出回路117からのマクロブロックのアクティビティに応じて、マクロブロック単位で量子化スケール値を補正する。コントローラ116は更に、音声到来方向検出回路104の検出結果に従い、音声到来方向の画面部分の量子化スケールコードを強制的に下げる。
【選択図】
図1

Description

本発明は、ディジタルビデオカメラ等に使用され得る映像符号化装置に関し、例えばMPEG(Moving Pictures of Experts Group)により映像信号を符号化する映像符号化装置に関する。
従来のMPEGフォーマットを用いた映像符号化装置は、人間の視覚特性を考慮した量子化スケールコード(量子化スケール値又は量子化ステップなどともよばれる)を設定して、所望のビットレートで映像信号を符号化するように構成されている(例えば、特許文献1参照)。
MPEG方式は、DCT(離散コサイン変換)、量子化、可変長符号化、並びに、前方向及び双方向の動き補償フレーム間予測を組み合わせた方式であり、通常15枚のフレームデータをグループ化したGOP(Group Of Pictures)構造を採用する。GOPは、Iピクチャ(Intra-coded picture)、Pピクチャ(Predictive-coded picture)及びBピクチャ(Bidirectionally predictive-coded picture)で構成される。Iピクチャは、フレーム内の情報のみで符号化された画像である。Pピクチャは、Iピクチャ又は別のPピクチャからの予測に従って差分符号化された画像である。Bピクチャは、双方向予測に従い差分符号化された画像である。
映像記録装置の映像符号化部は基本的に、所定の画素数に分割されたブロック、所謂DCTブロック毎に2次元直交変換を行うDCT(Discrete Cosine Transformation)変換回路と、変換後のDCT係数データを適当な量子化スケールコードで量子化する量子化回路と、映像記録装置の出力ビットレートを考慮して量子化スケールを適当な値に制御するレート制御部(コントローラ)とを具備する。
特に、MPEG2用の画像符号化装置は、図6に示すように画面並替え部であるフレームバッファ607、入力画像とローカルデコード画像の差分をとる減算部、DCT部608、量子化部609、可変長符号化部、バッファメモリ、逆量子化部610、逆DCT部611、動き推定部612、動き補償部613、及び、レート制御を行うコントローラ616などで構成される。
カメラ部605から出力されるアナログ映像信号は、ディジタル信号に変換された後に、DCTブロックに分割され、ピクチャの順序を符号化処理に適した順に並び替えられる。
フレームバッファ607の出力は、DCT部608及び量子化部609を介して、可変長符号が行われバッファメモリに出力される。バッファメモリは、所定のビットレートで符号化データを出力する。
また、Iピクチャ及びPピクチャの場合は、動き推定部612及び動き補償部613において参照画面として使用されるので、量子化部609の出力は逆量子化部610にも入力され、逆量子化された後に逆DCT部611により逆DCT変換される。逆DCT部611の出力は、動き補償部613に入力されて、順次、処理される。動き推定部612及び動き補償部613は、必要に応じて、前方向予測、後方向予測又は両方向予測を行い、予測値を減算部に出力する。
減算部は、画像並替え部607の出力と動き補償予測部613の出力との間で減算を行い、逆量子化部610及び逆DCT部611などにより復号された復号映像信号と入力映像信号との間の予測誤差を演算する。フレーム内符号化(Iピクチャ)の場合では、減算部は、減算処理を行わず、入力映像信号をそのまま出力する。
一方、可変長符号化部で発生する符号量が可変である。レート制御部であるコントローラ616は、バッファメモリを監視することによって所定のビットレートを保つように、量子化部609の量子化動作を制御する。具体的には、コントローラ616は、GOPの目標ビット量を設定し、このGOP目標ビット量の中でピクチャ単位毎に目標ビット量を割り当てる。各ピクチャ内におけるビット割り当ては、マクロブロックごとに量子化スケールを設定することによって行われる。
すなわち、一般に、次の3つのステップで上述の処理が行われる。これは、MPEG2のテストモデル5(TM5)と呼ばれるものである。
第1ステップでは、GOP内の各ピクチャに対する割り当てビット量を、割り当て対象ピクチャを含めGOP内でまだ符号化されていないピクチャに対して割り当てられるビット量を基にして配分する。この配分をGOP内の符号化ピクチャ順に繰り返し、ピクチャごとにピクチャ目標ビット量を設定する。
第2ステップでは、マクロブロック単位に量子化スケールの基準値を設定する。つまり、第2ステップでは、第1ステップで求められた各ピクチャに対する割り当てビット量と実際の発生ビット量が一致するように、各ピクチャタイプで独立に設定した3種類の仮想バッファの容量を基に、量子化スケールの基準値をマクロブロック単位のフィードバック制御で求める。
第3ステップでは、視覚特性を反映させるべく、マクロブロック単位でマクロブロックのアクティビティに基づいて量子化スケール値を補正する。即ち、アクティビティ算出回路617が、マクロブロック単位でアクティビティ値を算出する。コントローラ616は、アクティビティ算出回路617で算出されたアクティビティ値をに従い、フレーム目標ビット量を維持しつつ、アクティビティが低いマクロブロックでは量子化スケールを基準値より小さく補正し、アクティビティが高いマクロブロックでは量子化スケールを基準値より大きく補正する。このように、従来の映像符号化装置では,視覚特性、特にアクティビティを考慮した適応量子化が行われる。
特開平10−285589号公報
上記第3ステップの上述の処理方法では、アクティビティのみを用いて量子化スケールを変更するので、アクティビティが高いブロックではブロックの画像内容に拘わらず常に粗く量子化され、再生画像が劣化してしまう。従って、たとえ画像中において撮影者や視聴者の関心が高く重要と考える部分でも、アクティビティが高ければ、粗く量子化されてしまう。アクティビティが高い部分は、例えば、一般に撮影者などの関心が高い人物(特に肌色部分)、物体のエッジ・周辺などの他に音声を発している物体がある部分である。
そこで、本発明は、音声を発している物体に対する映像信号を高精細に符号化可能な映像符号化装置を提示することを目的とする。
本発明の映像符号化装置は、被写体を撮影して映像信号を出力する撮像手段と、映像信号を所定の画素数で分割したブロックごとに量子化スケールコードに従い量子化して符号化する映像符号化手段と、当該映像信号の符号化の目標符号量を算出する目標符号量算出手段と、前記被写体に係る音声の到来方向を検出する音声到来方向検出手段と、前記目標符号量と前記音声到来方向検出手段の検出結果に応じて、所定ブロックにおける当該量子化スケールコードを変更する量子化スケールコード制御手段とを具備することを特徴とする。
本発明によれば、音声信号到来方向に従い映像信号符号化の量子化スケールコードを制御することにより、音声を発している物体に対して高精彩に記録することが可能となる。
以下、図面を参照して、本発明の実施例を詳細に説明する。
図1は、本発明の一実施例の概略構成ブロック図である。図2は本実施例の作用を説明する模式図である。この実施例は、映像信号をMPEG2フォーマットで記録するディジタルビデオカメラに適用されたものであり、任意のマクロブロックにおけるDCT係数を量子化する際の量子化スケールコードの決定に音声信号の到来方向を利用する。
図1において、101は例えばディジタルビデオカメラに具備されているマイクであり、102はマイク101から得られた音声信号であり、103は音声信号102に対して符号化処理を行う音声信号符号化回路であり、104は音声信号102の到来方向を検出する音声到来方向検出回路である。なお、マイク101は映像記録装置に2つ以上、装備されているものとする。そのため、音声信号102は、2方向以上の音声信号を示す。
105は例えばディジタルビデオカメラに具備されているCCDであり、106はCCD105から得られた映像信号であり、107はフレームバッファである。108はDCT回路であり、109は量子化回路であり、110は逆量子化回路であり、111はIDCT(逆DCT)回路であり、112は動き推定回路であり、113は動き補償回路である。
114は量子化回路109から出力された信号をハフマン符号化などの可変長符号化処理する可変長符号化部を含み、音声符号化信号と映像符号化信号を多重化する多重化回路であり、115は記録媒体である。多重化回路112で多重化された映像音声信号が、記録媒体115に記録される。
また、コントローラ116は、量子化回路109における量子化スケールコードを制御するだけでなく、システム全体も制御する。117はアクティビティ算出回路であり、各マクロブロックの分散値などからアクティビティ値を算出する。
映像信号106はフレームバッファ107に一旦、保持され、符号化ピクチャがフレーム内符号化(イントラ符号化)方式の時は、映像信号106をマクロブロックに分割し、DCT回路108が、マクロブロック内の信号に対してDCT処理を行い、量子化回路109が、コントローラ116で決定した量子化スケールコードを用いてDCT係数を量子化する。
また、符号化ピクチャがフレーム間符号化ピクチャ(インター符号化)方式の時は、すでに符号化されたピクチャに対して逆量子化回路110で逆量子化し、IDCT回路111で逆DCT処理を行ったローカルデコード画像を作成し、今から符号化するピクチャとの動き推定及び動き補償を行い、ローカルデコード画像との差分値を算出する。DCT回路108は、差分値をマクロブロック単位でDCT変換し、DCT係数を出力する。量子化回路109は、コントローラ116で決定した量子化スケールコードを用いてDCT係数を量子化する。
図2は、量子化スケールコードの決定態様を説明する模式図である。図2(A)は、撮影状況を示し、図2(B)は撮影映像を示し、図2(C)は、各マクロブロックに対する量子化スケールコード例を示す。図2(A)において、201から203が被写体であり、現在の被写体201が音声を発しているものとする。この状況を図1に示す構成からなる映像記録装置204で撮影し記録するものとする。
図2(B)は、映像記録装置204で記録する1枚のピクチャを示しており、各小ブロック205がマクロブロックを示す。
図2(C)において、207(白丸)が映像のアクティビティ値を用いて決定されたマクロブロックの量子化スケールコード、即ち、従来例で示した第3ステップで決定された量子化スケールコードであり、208(黒丸)が、本実施例の映像記録装置204で決定された量子化スケールコードである。
コントローラ116は、従来例で示した第1ステップから第3ステップと同様の処理を行う。
まずGOP内の各ピクチャに対する割り当てビット量を、割り当て対象ピクチャを含めGOP内でまだ符号化されていないピクチャに対して割り当てられるビット量を基にして配分する。この配分をGOP内の符号化ピクチャ順に繰り返し、ピクチャごとにピクチャ目標ビット量を設定する。
次に、マクロブロック単位に量子化スケールコードの基準値を設定する。
さらに視覚特性を反映させるべく、アクティビティ算出回路117で算出されたマクロブロックのアクティビティに基づいて量子化スケール値を補正する。フレーム目標ビット量を維持しつつ、アクティビティが低いマクロブロックでは量子化スケールを基準値より小さく補正し、アクティビティが高いマクロブロックでは量子化スケールを基準値より大きく補正することで、視覚特性に応じた量子化スケールコード207を算出する。
一方、音声到来方向検出回路104は、マイク101から得られた2方向以上の音声信号102からどちらの方向から得られた音声信号であるかを判定する。音声到来方向を検出する一手法として音声信号の大きさがある。
音声信号の大きさで判定する手法は、本映像記録装置に対して左側の音声信号を記録可能なマイク(以下、左マイクともよぶ)と右側の音声信号を記録可能なマイク(以下、右マイクともよぶ)があるとき、左マイクで得られた音声信号のピーク値がある閾値を超えたときは、音声信号の到来方向を左と判定する。なお、右マイクから得られた音声信号のピーク値がある閾値を超えたときには、左マイクと同様に、音声信号の到来方向を右と判定する。左マイクから得られた音声信号のピーク値と右マイクから得られた音声信号のピーク値が共に閾値を超えた場合は、ピーク値の大きいほうを音声の到来方向とする。
音声到来方向検出回路104で検出された音声到来方向が左側と判断されたとき、コントローラ116は、視覚特性に応じた量子化スケールコード207に対して、画面の左側に与えられた量子化スケールコードを強制的に下げるように制御する。強制的に下げられた量子化スケールコードを用いて量子化したマクロブロックに対する符号量は増加するので、音声を発している人物に対して視覚的向上を図ることができる。当然ながら、音声到来方向検出回路104で検出された音声到来方向が右側と判断されたとき、コントローラ116は、視覚特性に応じた量子化スケールコード207に対して、画面の右側に与えられた量子化スケールコードを強制的に下げるように制御する。詳細な説明は省略するが、映像記録装置に左マイク及び右マイク以外のマイクを更に付加して音声信号到来方向を上方向、下方向及び左上方向(斜め方向)などと判定できるようにしたときにも、左右と同様に、音声到来方向に従って量子化スケールコードを制御する。
量子化スケールコードの下げ幅は任意に決定できる。但し、周辺ブロックの量子化スケールコードに対して急激な変化があると、周辺ブロックの劣化が目立ちやすくなるので、下げ幅は、半分以下にすることのが妥当である。
なお、音声到来方向検出回路104に応じて量子化スケールコードが下げられたことにより、ピクチャ全体の符号量は最初に与えられた目標符号量よりも大きくなってしまう。最初に与えられた目標符号量を維持するには、音声到来方向検出回路104で検出されなかった方向にあるマクロブロックで、アクティビティ値が高いブロックの量子化スケールコードを上げる。これは、量子化スケールコードを上げたマクロブロックの劣化は視覚的に目立ちにくく、撮影者の関心がいきにくいことを利用している。
また、音声到来方向検出回路104は、以下の機能を持っていても良い。即ち、ディジタルビデオカメラで撮影を行っている時、例えば犬の泣き声や車のクラクションなど人間以外の音声も発生する。映像中に感心が向く部分は音声を発しているものととらえているが、これを人物に限定して、人物が音声を発した時、その音声到来方向に対して量子化スケールコードを下げるようにしても良い。
図1に示す実施例の構成において、ピクチャに与えられた目標符号量を、音声信号到来方向の出力に応じて各マクロブロックに分配することで量子化スケールコードを決定してもよい。
図3は、任意のピクチャに与えられた目標符号量をマクロブロックに分配する様子の模式図を示す。横軸が画面の左上から右下へラスタスキャンしたマクロブロックであり、縦軸がマクロブロックに与えられた総符号量(マクロブロックに与えられた符号量の累積和)を示す。また、スライスと表現された部分は、マクロブロック1行分の集まりを示す。
301は任意のピクチャに与えられた目標符号量であり、302はピクチャの目標符号量301をすべてのマクロブロックに対して均等に割り振った場合の符号量の変化を示す。303は、目標符号量301を本映像記録装置におけるコントローラ116で各マクロブロックに符号量を割り振った場合の符号量の変化を示す。
まず、GOP内の各ピクチャに対する割り当てビット量を、割り当て対象ピクチャを含めGOP内でまだ符号化されていないピクチャに対して割り当てられるビット量を基にして配分する。この配分をGOP内の符号化ピクチャ順に繰り返し、ピクチャごとにピクチャ目標ビット量を設定する。
次に各マクロブロックの目標符号量を決定する。音声信号到来方向検出回路104で検出された音声到来方向が左側と判断されたとき、スライスの左側にあるマクロブロックの目標符号量を大きく設定し、スライスの右側にあるマクロブロックの目標符号量を小さく設定する。同様に、音声信号到来方向検出回路104で検出された音声到来方向が右側と判断されたとき、スライスの右側にあるマクロブロックの目標符号量を大きく設定し、スライスの左側にあるマクロブロックの目標符号量を小さく設定する。
最後に、視覚特性を反映させるべく、マクロブロック単位でマクロブロックのアクティビティに基づいて量子化スケール値を決定する。マクロブロックの目標符号量を維持しつつ、アクティビティが低いマクロブロックでは量子化スケールを基準値より小さく補正し、アクティビティが高いマクロブロックでは量子化スケールを基準値より大きく補正する。これにより、視覚特性に応じた量子化スケールコードを算出する。
なお、音声信号到来方向検出回路104は実施例1で述べた方法で音声到来方向を検出する。勿論、音声信号到来方向として上方向、下方向、左上方向(斜め方向)を判断できる場合には、図4及び図5に示すようにマクロブロックの符号量を制御する。
図4は、音声信号到来方向が上方向と判断されたときのマクロブロックの目標符号量を示す。このとき、上部スライスの目標符号量が増加し、下部スライスの目標符号量が減少するように、各スライスの目標符号量を設定する。各マクロブロックの目標符号量は、スライスに含まれるマクロブロックの数で均等割りすることになる。
図5は、音声信号到来方向が左上と判断されたときのマクロブロックの目標符号量を示す。このとき、上部スライスの目標が増加し、下部スライスの目標符号量が減少するように、各スライスの目標符号量を設定する。各マクロブロックの目標符号量として、スライスの左側にあるマクロブロックの目標符号量を大きく設定し、スライスの右側にあるマクロブロックの目標符号量を小さく設定する。音声信号到来方向が右上、左下及び右下などの斜め方向と検出された場合も、同様の目標符号量設定を行う。
本発明の第1実施例の概略構成ブロック図である。 第1実施例における量子化スケールコード制御の説明図である。 第2実施例において、音声到来方向が左側であるときのマクロブロックの目標符号量制御を説明する図である。 第2実施例において、音声到来方向が上側であるときのマクロブロックの目標符号量制御を説明する図である。 第3実施例において、音声到来方向が左上側であるときのマクロブロックの目標符号量制御を説明する図である。 従来の映像音声信記録装置のシステム図である。
符号の説明
101・・・マイク
102・・・音声信号
103・・・音声信号符号化回路
104・・・音声信号到来方向検出回路
105・・・CCD
106・・・映像信号
107・・・フレームバッファ
108・・・DCT回路
109・・・量子化回路
110・・・逆量子化回路
111・・・IDCT回路
112・・・動き推定回路
113・・・動き補償回路
114・・・多重化回路
115・・・記録媒体
116・・・コントローラ
117・・・アクティビティ算出回路

Claims (10)

  1. 被写体を撮影して映像信号を出力する撮像手段と、
    映像信号を所定の画素数で分割したブロックごとに量子化スケールコードに従い量子化して符号化する映像符号化手段と、
    当該映像信号の符号化の目標符号量を算出する目標符号量算出手段と、
    前記被写体に係る音声の到来方向を検出する音声到来方向検出手段と、
    前記目標符号量と前記音声到来方向検出手段の検出結果に応じて、所定ブロックにおける当該量子化スケールコードを変更する量子化スケールコード制御手段
    とを具備することを特徴とする映像符号化装置。
  2. 更に、所定ブロックにおける映像特徴量を算出する映像特徴量算出手段を具備し、
    前記量子化スケールコード制御手段で変更される前の量子化スケールコードは、前記映像特徴量算出手段により算出される特徴量に応じて決定されることを特徴とする請求項1に記載の映像符号化装置。
  3. 前記映像特徴量はアクティビティ値であることを特徴とする請求項1又は2に記載の映像符号化装置。
  4. 前記量子化スケールコード制御手段は、量子化スケールコード変更前におけるフレーム符号量と、量子化スケールコード変更後のフレーム符号量が維持されるように、各ブロックの量子化スケールコードを制御することを特徴とする請求項1に記載の映像符号化装置。
  5. 前記量子化スケールコード制御手段で変更された前記所定ブロックにおける量子化スケールコードが、前記映像特徴量に応じて決定された量子化スケールコードより小さいことを特徴とする請求項1乃至4の何れか1項に記載の映像符号化装置。
  6. 前記量子化スケールコード制御手段で変更された前記所定ブロック以外のブロックにおける量子化スケールコードが、前記映像特徴量に応じて決定された量子化スケールコードより大きいことを特徴とする請求項1乃至4の何れか1項に記載の映像符号化装置。
  7. 前記音声信号到来方向検出手段は、前記被写体に係る音声信号を入力する音声入力手段を有し、前記音声信号の入力レベルに応じて、前記音声信号の到来方向を検出することを特徴とする請求項1に記載の映像符号化装置。
  8. 前記音声信号到来方向検出手段は、少なくとも左右2方向の到来方向を検出可能であることを特徴とする請求項1に記載の映像符号化装置。
  9. 前記音声到来方向検出手段は、前記音声信号の入力レベルに前記音声信号が持つ特徴を考慮して、前記音声信号の到来方向を検出することを特徴とする請求項17に記載の映像符号化装置。
  10. 前記映像信号の符号化方式がMPEG符号化方式であることを特徴とする請求項1乃至8の何れか1項に記載の映像符号化装置。
JP2004260055A 2004-09-07 2004-09-07 映像符号化装置 Withdrawn JP2006080663A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004260055A JP2006080663A (ja) 2004-09-07 2004-09-07 映像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004260055A JP2006080663A (ja) 2004-09-07 2004-09-07 映像符号化装置

Publications (1)

Publication Number Publication Date
JP2006080663A true JP2006080663A (ja) 2006-03-23

Family

ID=36159790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004260055A Withdrawn JP2006080663A (ja) 2004-09-07 2004-09-07 映像符号化装置

Country Status (1)

Country Link
JP (1) JP2006080663A (ja)

Similar Documents

Publication Publication Date Title
JP4529919B2 (ja) 適応量子化装置及び適応量子化プログラム
KR100850706B1 (ko) 적응적 동영상 부호화 및 복호화 방법과 그 장치
JP4804107B2 (ja) 画像符号化装置、画像符号化方法及びそのプログラム
JP7015183B2 (ja) 画像符号化装置及びその制御方法及びプログラム
JPH09322176A (ja) 符号化モード選択方法、動画像符号化装置、符号化方法、記録方法、及び伝送方法
JP3508916B2 (ja) 動画像可変ビットレート符号化方法および装置
JP5100572B2 (ja) 符号化装置
JP2003348597A (ja) 画像符号化装置および画像符号化方法
JP2004523985A (ja) ビデオ符号化方法及びこれに対応する符号化装置
JP2002238060A (ja) 画像符号化方法、画像符号化装置、プログラムおよび記録媒体
KR20180056382A (ko) 비디오를 인코딩하기 위한 방법 및 인코더 시스템
JP2002199392A (ja) 映像符号化方法および装置
US8045816B2 (en) Image quantization method and apparatus with color distortion removing quantization matrix
JP2009055236A (ja) 映像符号化装置及び方法
JP4362794B2 (ja) 動画像符号化装置及びその方法
JPH07203430A (ja) 画像符号化装置
JP4942208B2 (ja) 符号化装置
JP4171934B2 (ja) 画像処理装置および方法、並びに記録媒体
US7801214B2 (en) Method and apparatus for controlling encoding rate and quantization scales
JP4700992B2 (ja) 画像処理装置
JP2006080663A (ja) 映像符号化装置
JPH0998421A (ja) 画像符号化/復号化装置
JP4747109B2 (ja) 演算量調整装置
JP2004056677A (ja) 画像情報符号化装置及び画像情報符号化方法
JP3307367B2 (ja) 可変転送レート符号化装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071204