JP4161385B2 - 画像符号化方法及び装置並びに画像処理装置及び画像処理方法 - Google Patents
画像符号化方法及び装置並びに画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP4161385B2 JP4161385B2 JP11314397A JP11314397A JP4161385B2 JP 4161385 B2 JP4161385 B2 JP 4161385B2 JP 11314397 A JP11314397 A JP 11314397A JP 11314397 A JP11314397 A JP 11314397A JP 4161385 B2 JP4161385 B2 JP 4161385B2
- Authority
- JP
- Japan
- Prior art keywords
- phase pattern
- pull
- phase
- pattern
- encoding
- 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
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、プルダウン変換処理の施されるビデオ素材を符号化する画像符号化方法及び画像符号化装置、並びにビデオ素材のプルダウン変換処理に伴う位相パターンの乱れを修正する画像処理方法及び画像処理装置に関する。
【0002】
【従来の技術】
ビデオ情報をディジタルビデオディスク(Digital Video Disk:DVD)やビデオCDのようなパッケージメディアに蓄積する際、上記ビデオ情報に圧縮符号化処理を施すエンコードシステムでは、最初に素材の画像の符号化難易度(Difficulty)を測定し、その符号化難易度を元に、パッケージメディアの記録容量内で与えられるバイト数に収まるように、各ビデオ情報のフレームごとにビット配分処理を行ってエンコードするという方法が一般に採用されている。以下、このエンコード方法を2パスエンコーディング方法という。
【0003】
例えば、上記ディジタルビデオディスク用に、上記2パスエンコーディング方法を採用して、ビデオ情報を圧縮符号化するビデオエンコードシステムの具体例を図12に示す。
【0004】
図12において、ビデオエンコードの制御を行うビデオエンコードコントローラ10は、システム全体を管理するスーパーバイザコントローラ1に、ネットワーク2を介して接続されている。
【0005】
スーパーバイザコントローラ1はオペレーティングシステムを構成するプログラムの内、特にシステム全体の動きを監視し、効率的に制御するプログラムであるスーパーバイザを実行するコントローラである。このビデオエンコードシステムにおいてはDVDのオーサリングシステム全体の管理を行い、ビデオ、オーディオ、字幕やメニューといった各エンコードシステムにエンコード条件を与え、エンコード結果の報告を受ける。
【0006】
このビデオエンコードシステムの具体例に対しては、例えばv.enc というファイルによってビデオエンコード条件を指定している。そして、ビデオエンコードコントローラ10側からは、エンコード結果のビットストリームがハードディスクドライブ(HDD)等を複数並列に接続して記録容量と転送速度性能を向上させたRAID16(Redundant Arrays of Inexpensive Diskes)上に書き込まれたアドレスv.adrと、エンコード結果のビットストリームがオーディオや字幕,メニュー等のサブピクチャとマルチプレックスされる際に必要とされるデータ(vxxx.aui)を報告している。
【0007】
ビデオエンコードコントローラ10は、グラフィカルユーザインターフェース(Graphical User Interfece:GUI)11と、後述するビット配分計算処理プログラム(Bit_Assign)を格納しているビット配分計算部12と、このビット配分計算部12内部のビット配分計算処理プログラムを実行するMPEGエンコードコントローラ13と、ディジタルVTRコントローラ14とを備えている。
【0008】
ユーザは、グラフィカルユーザインターフェース11を用い、ビット配分計算部12の上記プログラムと、MPEGエンコードコントローラ13の3つのプログラムを管理することができる。また、DVTRコントローラ14も管理できる。
【0009】
MPEGエンコードコントローラ13は、上記ビット配分計算部12内部の上記ビット配分計算処理プログラムを実行すると共に、MPEGエンコーダ15を制御する。また、DVTRコントローラ14はDVTR17を制御する。このDVTR17はMPEGエンコーダ15に接続しており、MPEGエンコーダ15はエンコードした結果を表示するためにモニタ18に接続している。さらに、MPEGエンコーダ15は、エンコード結果を記録するために上記RAID16にも接続している。
【0010】
MPEGエンコーダ15では、動き補償予測による時間方向の冗長度の除去を行っている。また、MPEGエンコーダ15では、フレーム内だけで符号化されるフレーム内符号化画像をIピクチャ(Intra Coded)、過去の画面から現在を予測することによって符号化されるフレーム間順方向予測符号化画像をPピクチャ(Predictive Coded)、過去、未来の両方向の画像から現在を予測することによって符号化される双方向予測符号化画像をBピクチャ(Bidirectionaly Predictive Coded)を用いて、ビデオ情報を圧縮符号化している。ここでは、必ずIピクチャを1つ含むピクチャーのまとまりを図13に示すようなGOP(Group of Pictures)としている。この図13において、GOPのフレーム数Nは15であり、表示順のGOPの先頭は、Iピクチャの前で、P又はIピクチャの次のBピクチャーである。GOPの最後は、次のIピクチャの前の最初のPピクチャである。
【0011】
このビデオエンコードシステムの動作について図14のフローチャートを参照して説明する。先ず、ステップS1で、スーパーバイザコントローラ1からネットワーク2経由でビデオに割り当てるビット総量や最大レートなどのエンコード条件v.encが与えられ、MPEGエンコードコントローラ13はこのエンコード条件を設定する。その後、ステップS2でMPEGエンコードコントローラ13がMPEGエンコーダ15を使ってエンコード素材の符号化難易度(Difficulty)を測定する。ここでは、各画素のDC値や動きベクトル量MEも読んでおく。そして、これらの測定結果により、ファイルを作成しておく。
【0012】
実際のDifficultyの測定は以下のように行う。エンコード素材となるビデオ情報はDVTR17によってマスターテープであるディジタルビデオカセットから再生される。MPEGエンコードコントローラ13は、MPEGエンコーダ15を介して、DVTR17によって再生されたビデオ情報の符号化難易度を測定する。ここでは、符号化の際に量子化ステップ数を固定値に設定した条件で発生ビット量を測定する。動きが多く、高い周波数成分が大きい画像では発生ビット量が大きくなり、静止画や平坦な部分が多い画像では発生ビット量が少なくなる。この発生ビット量の大きさを上記符号化難易度としている。
【0013】
次に、ステップS3では、ステップS1で設定されたエンコード条件を元に、ステップS2で測定された各ピクチャーの符号化難易度の大きさに応じて、MPEGエンコードコントローラ13がビット配分計算部12内部の計算プログラム(BIT_ASSIGN)を実行し、割り当てビット量(ターゲット量 :target)の配分計算を行う。
【0014】
そして、このステップS3でのビット配分計算による結果を使ってエンコードを実行するかどうかをMPEGエンコーダ15に内蔵されているローカルデコーダ出力の画質によってユーザに判断させる。
【0015】
実際には、ステップS4で、上記ビット配分によるビットストリームをRAID16に出力しないで、任意の処理範囲を指定できるプレビユーモード(Preview)を行って、ユーザーが画質をチェックする。
【0016】
ステップS5の画質評価で画質に問題がない場合にはステップS6に進み、MPEGエンコーダ15によるエンコード処理を実行するが、画質に問題がある場合には、ステップS8に進み、問題のある部分のレートを上げるとか、フィルターレベルを調整するといった画質調整のためのカスタマイズ作業を行ってから、ステップS9でビット配分再計算を実行する。
【0017】
その後、ステップS4に戻り、カスタマイズした部分をプレビューして、ステップS5で画質を確認し、すべての部分が良ければステップS6に進み、全体のエンコードをMPEGエンコーダ15に実行させる。エンコード結果であるビットストリームは、ステップS7でSCSI(Small Computer System Interface)経由で直接、RAID16に書き込まれる。
【0018】
ステップS6でのエンコード後、ビデオエンコードコントローラ10は上述したようなエンコード結果情報をネットワーク経由でスーパーバイザコントローラ1に報告する。
【0019】
この図14のフローチャートにおいて、ステップS2,ステップS4及びステップS6を除いた各ステップの処理はオフライン処理を意味している。
【0020】
以下、特に、ステップS3でMPEGエンコードコントローラ13によって実行されるビット配分計算部12内部のビット配分計算について図15を用いて詳細に説明する。先ず、ディスク容量の中からビデオに割り当てられたビット総量(QTY_BYTES)と、最大ビットレート(MAXRATE)がスーパーバイザコントローラ1から指定される。これに対して、MPEGエンコードコントローラ13は、上記ビット配分計算部12内部のビット配分計算プログラムを実行し、最大ビットレート(MAXRATE)以下になるように制限を加えた総ビット数 (USB_BYTES)を求め、この値からGOPのヘッダ(GOP header)に必要なビット数(TOTAL_HEADER)を引いた値と、全体のフレーム総数からターゲット数の総和の目標値となるSUPPLY_BYTESを算出する。そして、このSUPPLY_BYTESの大きさに収まるように各ピクチャーへの割り当てビット量(ターゲット量:target)を配分する。全てのピクチャへの割当てビット量の総和を TARGET_BYTES とすると、SUPPLY_BYTES から TARGET_BYTES を引いた値がビット配分での余り量 (REMAIN_BYTES) となる。
【0021】
このステップS3でのビット配分計算処理を詳細に示したのが図16のフローチャートである。
【0022】
先ず、ステップS11で上述したように、スーパーバイザコントローラ1から送られた上記ビット総量(QTY_BYTES)と、最大ビットレート(MAXRATE)を入力する。次に、上記図14のステップS2の符号化難易度(Difficulty)の測定で作成された測定ファイルをステップS12でそのまま読み込み、符号化難易度の測定の際に、併せて測定された各画像のDC値や動きベクトル量MEの大きさのパラメータの変化量から、ステップS13でシーンが変化するポイントを見つける。
【0023】
このステップS13でのシーンチェンジ検出/処理は、本件出願人が既に特願平8-274094号明細書及び図面にて開示した「映像信号処理装置」に応じてシーンチェンジ点を検出する処理である。
【0024】
この「映像信号処理装置」は、映像信号の各フレームの直流レベルを検出し、この直流レベルを曲線近似して得られる誤差値より、上記映像信号のシーンチェンジのフレームを検出して、シーンチェンジ点を明らかにする。そして、シーンがチェンジしたとして検出したポイントでは、PピクチャーをIピクチャーに変更して、画質改善を計る。
【0025】
この、ステップS13では、チャプター(CHAPTER)境界処理も行う。DVD再生装置でのチャプターサーチ時には、特定されないピクチャーからジャンプしてくることになるが、その場合でも再生画像の乱れがないようにするため、チャプターの位置が必ずGOPの先頭になるようにピクチャータイプを変更したり、GOP長を制限する。
【0026】
このようなステップS12,ステップS13での一連の作業の結果、ピクチャータイプ(I,P,Bピクチャ)の変更処理が実行されると、符号化難易度(Difficulty)測定時のピクチャータイプが変更されるため、ステップS14〜ステップS17で変更後のピクチャータイプに合わせた符号化難易度の値に補間/補正する。
ステップS14〜ステップS17での符号化難易度の補間/補正によって得られた符号化難易度と、全体に与えられたビット数(SUPPLY_BYTES)に応じて、ステップS18〜ステップS20で各ピクチャーごとのターゲットビット数を計算する。
【0027】
そして、ステップS21でRAID16にエンコード結果のビットストリームを書き込む際のアドレスの計算を行った上で、ステップS22に進み、エンコーダ用のコントロールファイルを作成する。
【0028】
例えば、ビット配分計算の具体例として、先ずGOP単位にビット量を配分し、その後、各GOP内で各ピクチャーの符号化難易度に応じたビット配分を行うとする。ここでは、各GOP毎の符号化難易度の和であるGOP_DIFFに応じて、エンコードする際のGOP単位のビット割り当て量(GOP_TARGET)を配分している。このGOP_DIFFとGOP_TARGET量とを変換するもっとも簡単な関数の例を図17に図示する。この例では、縦軸YをGOP_TARGET、横軸XをGOP_DIFFとして、Y=AX+Bという評価関数を用いている。
【0029】
先ず、最大ビットレート以下になるように制限を加えた総ビット数USB_BYTESを、スーパーバイザコントローラ1から与えられたビット総量QTY_BYTESと、最大ビットレートMAXRATEを使って、
USB_BYTES = min (QTY_BYTES,MAXRATE × KT × total_frame_number)・・・(1)
のように求める。
【0030】
ここで、NTSCの場合 KT=1/8(bits)/30(Hz), PALの場合1/8(bits)/25(Hz)である。また、total_frame_number はエンコードする素材のフレーム総数、min(s,t)は s,t の内で小さい方を選択する関数である。
【0031】
また、SUPPLY_BYTESは、上記(1)式で求めたUSB_BYTESからGOPのヘッダに必要なビット数TOTAL_HEADERを引いて、
SUPPLY_BYTES = USB_BYTES - TOTAL_HEADER ・・・(2)
のように求める。
【0032】
また、全てのピクチャの符号化難易度(Difficulty)の総和は、ステップS17で、
DIFFICULTY_SUM = Σdifficulty ・・・(3)
と表す。
【0033】
さらに、GOP_TARGETの最小値を次の(4)式のように、
B = GOP_MINBYTES ・・・(4)
とする。
【0034】
すると、ステップS18で、
Σy = A×Σx + B×n
が得られる。
【0035】
ここで、Σy = SUPPLY_BYTES, Σx = DIFFICULTY_SUM 、n は GOP の総数である。
【0036】
よって A = (SUPPLY_BYTES - B×n)/ DIFFICULTY_SUM となる。すると、各GOP毎のターゲット量は、ステップS19で、
GOP_TARGET = A × GOP_DIFF + B ・・・(5)
と表せる。
【0037】
その後、ステップS20で各GOP内で各ピクチャーの符号化難易度(Difficulty)に応じたビット配分を行う。GOP内での各ピクチャーの配分は符号化難易度 の大きさに比例させた場合には、各ピクチャーのターゲット量は以下の(6)式で求められる。
【0038】
target(k) = GOP_TARGET × diffuculty(k)/GOP_DIFF ・・・(6)
(1 ≦ k ≦ GOP 内の picture 数)
次に映画(フィルム)素材の処理について説明する。図18に示すように、映画フィルムは24コマ/秒で構成されているが、これをNTSCの30フレーム/秒に変換するために、周期的に同じフィールド画像を繰り返す処理を行っている。ここでは、この処理を2/3プルダウン変換処理ということにする。
【0039】
プルダウンのパターンの位相は、フィルム素材 -> NTSCビデオ素材の変換時に決定され、多くの場合パターンは規則的に変換されている。
【0040】
ビデオの1フレームは2フィールドで構成されるが、その内のファーストフィールド(1st field)をトップフィールド(top_field)とし、セカンドフィールド(2nd field)をボトムフィールド(bottom_field)とする。また、同じフィールド画を繰り返す場所はリピートファーストフィールド(repeat_first_field)と呼ぶこととする。このような映画素材の場合、同じフィールドである位置が分かっていれば、エンコードの際にそのフィールドを符号化しないようにすることで、圧縮効率を上げらることができる。
【0041】
このような2/3プルダウンパターンの検出及び、パターンを考慮したプルダウンパターンの自動検出手法では、エンコードの際に現在と1フレーム前のtop_field, bottom_fieldの差分を元に repeat_first_field の位置を調べ、プルダウン位相を検出している。
符号化の際の2/3プルダウンパターンによる組合せは以下の4通りである。
【0042】
0: bottom_field_first
1: bottom_field_first, repeat_first_field
2: top_field_first
3: top_field_first, repeat_first_field
これらをピクチャーモード(p_mode)と定義する。
【0043】
2/3プルダウンパターンと、NTSCによるビデオ素材の入ったビデオテープ1ロールの先頭からのビデオフレーム番号kの関係を考える。リピートされていない top_fieldを含む位置のkのピクチャモードをp_mode[k]とする。すると、図18からわかるように、p_modeが0〜3に属さないフレーム番号が存在することがわかる。この場合の p_mode の値を4とする。
【0044】
図19は、p_mode[k]の状態遷移図である。プルダウンパターンが規則正しく連続している場合には、p_mode[k]の値は、次の(7)式に示すように、フレーム番号kの増加にともなって5で割った余りの体(mod 5) において1ずつ増加していく。
【0045】
p_mode[k+1] = (p_mode[k] + 1 ) mod 5 ・・・(7)
プルダウンパターンが乱れた場合には、次の(8)式に示すように、p_modeが0または2の場合のみ、その値を繰り返すことができる。
【0046】
p_mode[k+1] = (p_mode[k]+1) mod 5
(p_mode[k] が 0 または 2 の場合に限る) ・・・(8)
2パスエンコーディング方法を採用したシステムにおいては、図14のステップS2での符号化難易度の測定をおこなう仮エンコードの際に、このプルダウンパターンを自動検出する。この時測定されたプルダウンパターンを元にビット配分計算し、コントロールファイルを作成する。そして、本エンコード時には、コントロールファイルに記述されたビット配分に従って符号化を実行する。
【0047】
【発明が解決しようとする課題】
ところで、上記仮エンコードの際のプルダウンパターンの自動検出手法では、現在と1フレーム前のtop_field, bottom_fieldの差分を元にプルダウンパターンの検出を行っているので、対象となる画像が静止画像に近い場合、正しく検出できないことがある。
【0048】
例えば、映画の最初の部分について考える。最初はタイトルシーンから始まるが、そのような映像は黒からフェードインし、映画会社のロゴがでて、黒にフェードアウトする。黒へのフェードイン/アウトのような動きが少ない部分については、上述したような現在と1フレーム前のtop_field, bottom_fieldの差分により、正確な位相を検出するのが困難であり、誤ることが多い。
【0049】
そして、動きの少ない部分の直後、動きの激しいシーンから始まる場合には、正しい位相にロックするまでの間は、誤ったプルダウンパターンで処理されるため、エンコード結果の画像の動きが不自然になってしまうことがあった。
【0050】
本発明は、上記実情に鑑みてなされたものであり、プルダウンパターンの位相を検出するのに、対象となる画像に動きがない場合でも、プルダウンパターンの位相を正しく検出でき、フレーム間に不自然な動きの生じるのを防ぐように、符号化処理を施すことのできる画像符号化方法及び装置の提供を目的とする。
【0053】
【課題を解決するための手段】
本発明に係る画像符号化方法は、上記課題を解決するために、プルダウン変換処理の施されるビデオ素材を符号化する画像符号化方法において、上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出工程と、上記位相パターン検出工程が検出した位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正工程と、上記位相パターン修正工程で修正した位相パターンに基づいて上記ビデオ素材のビット配分を計算する計算工程とを備える。
【0054】
本発明に係る画像符号化装置は、上記課題を解決するために、プルダウン変換処理の施されるビデオ素材を符号化する画像符号化装置において、上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出手段と、上記位相パターン検出手段により検出された位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正手段と、上記位相パターン修正手段により修正された位相パターンに基づいて上記ビデオ素材のビット配分を計算する計算手段とを備える。
【0055】
本発明に係る画像処理方法は、上記課題を解決するために、ビデオ素材のプルダウン変換変換処理に伴う位相パターンの乱れを修正する画像処理方法において、上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出工程と、上記位相パターン検出工程が検出した位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正工程とを備える。
また、本発明に係る画像処理装置は、上記課題を解決するために、ビデオ素材のプルダウン変換処理に伴う位相パターンの乱れを修正する画像処理装置において、上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出手段と、上記位相パターン検出手段により検出された位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正手段と備える。
【0056】
【発明の実施の形態】
以下、本発明に係る画像符号化方法及び装置の実施の形態について図面を参照しながら説明する。
【0057】
この実施の形態は、例えばディジタルビデオカセットテープに記録されたビデオ素材をディジタルビデオディスク(Digital Video Disk:DVD)用に、2パスエンコーディング方法を採用してエンコードするためのビデオエンコードシステムであり、図1に示すような構成である。
【0058】
このビデオエンコードシステムは、上記図12に示したビデオエンコードシステムと基本的に構成を同じにしているが、ビデオエンコードコントーローラ20内部のMPEGエンコードコントローラ23での処理を異ならせている。
【0059】
すなわち、MPEGエンコードコントローラ23は、プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出工程と、この位相パターン検出工程が検出した位相パターンの乱れを修正する位相パターン修正工程とを備え、上記位相パターン検出工程が上記位相パターンの乱れを検出したとき、上記位相パターン修正手段で位相を修正してから、ビット配分を計算するというビット配分計算プログラム(BIT_ASSING)をビット配分計算部22内部で実行する。
【0060】
本実施の形態となる図1に示したビデオエンコードシステムの基本的な動作は、上記図14のフローチャートを参照しながら説明することができる。特に本発明で重要となるのは、ステップS2での符号化難易度の測定処理である。
【0061】
ステップS2での符号化難易度の測定は、以下のように行うことができる。すなわち、エンコード素材となるビデオ情報はDVTR17によってディジタルビデオカセットから再生される。MPEGエンコードコントローラ23は、MPEGエンコーダ25を介して、DVTR17によって再生されたビデオ情報の符号化難易度を測定している。
【0062】
このとき、ビデオ素材が上述したように2/3プルダウン変換処理が必要とされる素材であるとき、MPEGエンコードコントローラ23は、MPEGエンコーダ25を制御し、上記符号化難易度の測定処理の際に、上記2/3プルダウン変換処理を自動検出する。
【0063】
具体的には、現在と1フレーム前の上記top_field, bottom_fieldの差分を元に repeat_first_field の位置を調べ、プルダウン位相を検出している。
しかし、このプルダウンパターンの位相の自動検出時には、対象となる画像が、静止画のような動きが非常に少ないシーンである場合、上記プルダウンパターンの位相を誤検出する可能性がある。
【0064】
素材のプルダウンパターンが規則正しいと仮定すると、上記位相パターン検出工程で検出できるプルダウンパターンの遷移が乱れたフレーム番号kは、次の(9)式を満たしていることになる。
【0065】
p_mode[k+1] ≠ (p_mode[k] + 1) mod 5 ・・・(9)
このプルダウンパターンが乱れた位置のフレームの前後の位相関係から上記位相パターン修正工程で位相パターンを修正する。
【0066】
例えば、マニュアルで位相パターンの修正を行う際のGUI21を介しての設定ウインドウの具体例を図2に示す。ユーザーは、位相が乱れた位置を含む、修正する範囲のスタートとエンドのタイムコードTSとTEを指定する。図中、pm_change が“1”に設定されている範囲が修正を指定した範囲である。このようなカスタマイズパラメータ指定作業の結果は、次の表1に示すような、weight.txt というファイルとして作成する。
【0067】
【表1】
【0068】
ここで、ENCU_nb はエンコードするビデオカセットのロールの番号、Filter(表1中にはFilと記す。)はフィルターの強さ、D_weight(D_w)はビット配分の際の重み係数を意味している。また、Scene_add(S_add)はシーンチェンジ点などでPピクチャをIピクチャにマニュアルで変更したい場合に用いる。また、mquant_level(Mq)は、各ピクチャーでの平坦な画像の場合のフレーム内の処理モードの選択(MQUANT ON/OFF)である。また、pm_change(pm_c)はユーザが修正を指定するときのフラグである。また、ここでは、パラメータの変化点の時間情報がタイムコード(Timecode)として表されている。
【0069】
このweight.txtファイルを図14のステップS9のビット再配分計算処理時に読み込み、指定された時間の位置で所定の処理を行うことによってプルダウンパターンを修正してからビット配分を行うことになる。
【0070】
ここで、上記位相パターン修正工程で行う実際のプルダウンパターンの位相修正処理手順について説明する。エンコードする素材のフレーム番号の範囲を0≦k≦ kstopとし、修正する範囲(pm_change[k])の値が1のフレーム番号をkstart≦k≦ kendとする。また、フレーム番号kのフレームを符号化する際のピクチャータイプ (I, P, B picture) をp_type[k]として表す。p_mode[k]が4のフレームは符号化されないので、ピクチャータイプも指定されない。
【0071】
先ず、図3に示すフローチャートにより、最初に修正する範囲よりも後ろのプルダウン位相と修正する範囲の位相が連続するようにしながらプルダウンパターンを時間的に後ろから前の方向に順次決定していき、次に修正する範囲よりも前の範囲との接続が状態推移のルールを守るようにする。ここで、pstart は、接続が許されるピクチャーモードを示している。
【0072】
具体的には、kstop-1〜0までのkの値に対して1ずつkの値を小さくしていくループにおいて、ステップS21、ステップS22にて、p_mode_org[k] = p_mode[k]、p_type_org[k] = p_type[k] とする。
【0073】
次に、ステップS23、ステップS24及びステップS25でkがkstopかpm_change[k]とpm_change[k+1]が0の場合にcycle = p_mode[k] とする。
【0074】
一方、ステップS24でpm_change[k] が1の場合には、ステップS26でcycle = (cycle + 4) % 5, p_mode[k] = cycle とする。
【0075】
次に、ステップS23でpm_change[k] が0でなく、ステップS29で(p_mode[k]+1) % 5==p_mode[k+1]でない場合に、ステップS30に進み、p_mode[k]が0or4のとき、ステップS34に進み、pstart =0とする。また、ステップS30でp_mode[k]が0or4でないとき、ステップS31に進み、p_mode[k]が1or2であるかを判定し、yesであればステップS33に進み、pstart=2とする。ステップS31でnoでありp_mode[k]が3のときにはステップS32に進み、pstart=4とする。
【0076】
以上の各ステップでの処理は、ステップS35でjを1から1ずつ増加させるループにおいて、ステップS36においてp_mode[k+j]の値がpstartと同じになるまで繰り返される。そして、ステップS37でp_mode[k+j] = pstartとした後、ステップS38でpstart =4の場合には、j=1の処理の後、ステップS39でpstart=0としてから、ステップS40でjをインクリメントして実行する。
【0077】
この図3に示したプルダウンパターン修正の手順の具体例を図5及び図6に示す。図5及び図6の(A)は、プルダウンパターン修正前のp_type_org[k]と、p_mode_org[k]を示している。ここで、例えば図5の(A)でp_mode_org[k]が“2,2,2”と“0,0,0,0,0,0”のように連続した箇所を含んだところで、ユーザが上記図5の(B)のようにpm_changeを“1”にし、マニュアル設定したとする。すると、ビデオエンコードコントローラ20のMPEGEエンコードコントローラ23は、修正処理を加える範囲よりも後ろのプルダウン位相と修正する範囲の位相が連続するようにしながらプルダウンパターンを時間的に後ろから前の方向に順次決定していく。次に、図5の(C)に示すように、修正する範囲よりも前の範囲との接続が図19に示した状態推移のルールを守るように、すなわち、プルダウンパターンが乱れた場合に許されているように、p_mode[k]が“0”で連続するように、プルダウンパターンをpm_changeが“1”の範囲の前方向から修正する。
【0078】
図6の(A)にて、p_mode_org[k]が“2,2,2”と“0,0”のように連続した箇所を含んだところで、ユーザが上記図6の(B)のようにpm_changeを“1”にし、マニュアル設定した場合には、ビデオエンコードコントローラ20のMPEGEエンコードコントローラ23は、修正処理を加える範囲よりも後ろのプルダウン位相と修正する範囲の位相が連続するようにしながらプルダウンパターンを時間的に後ろから前の方向に順次決定していき、最後に図6の(C)に示すように、修正する範囲よりも前の範囲との接続が図19に示した状態推移のルールを守るように、すなわち、プルダウンパターンが乱れた場合に許されているように、p_mode[k]が“2”で連続するように、プルダウンパターンをpm_changeが“1”の範囲の前方向から修正する。
【0079】
このようにプルダウンパターンを修正すると、修正される前と後では、p_modeの値が4になる数及び位置が異なってくる。これは、符号化されるフレームの数及び位置が変わることを意味する。それに伴い、プルダウンパターン修正後のピクチャータイプについても修正が必要となる。この手順について図4を参照しながら説明する。
【0080】
図4のフローチャートは、1〜kstopまでのkの値に対して1ずつkの値を増加させるループである。ステップS41でk=1,pshift=0と設定されてから、ステップS42でp_mode[k] == p_mode_org[k]と判定したとき、ステップS43でpshift=0とし、またステップs44でp_type[k] = p_type_org[k]とする。
【0081】
一方、ステップS42でp_mode[k] ≠ p_mode_org[k]であり、ステップS45でp_mode[k]が4であるときには、ステップS46に進む。このステップS46でp_mode_org[k] とp_mode_org[k+1]が同じ値で、かつp_type_org[k]がPピクチャorIピクチャの場合には、ステップS47に進み、pshift=0にし、またp_type[k] = p_type_org[k] とする。
【0082】
上記ステップS46でp_mode_org[k]とp_mode_org[k+1]が同じ値で、かつp_type_org[k]がPピクチャorIピクチャでなかった場合には、ステップS48に進み、pshift=-1にし、またp_type[k]=p_type_org[k-1]とする。
【0083】
上記ステップS45でp_mode[k]が4でなかったときには、ステップS51に進む。そして、このステップS51でp_mode_org[k]が4の時にはステップS52でpshiftを0とする。
【0084】
ステップS53でp_mode[k]とp_mode[k+1]が同じ値の場合には、ステップS56に進み、p_type[k] = Pピクチャとする。これ以外のとき、ステップS54に進み、p_type[k] = p_type_org[k-1] とする。
【0085】
上記ステップS51でp_mode_org[k] が4でないときには、ステップS55に進み、p_type[k] = p_type_org[k+pshift] とする。
【0086】
上記図4のフローチャートを用いて、プルダウン修正後にピクチャタイプを修正した具体例を図7、図8及び図9に示す。
【0087】
なお、符号化難易度の測定時に求められた値は、修正前のピクチャータイプに対する値なので、ピクチャータイプの修正に伴って、符号化難易度の値も補正が必要である。簡単な補正例としては、次の(10)式に示すように、修正が必要なフレームから最も近い、同じピクチャータイプの符号化難易度の値を用いることである。
【0088】
difficulty[k] = difficulty[kk] ・・・(10)
(kk は p_type[k] == p_type_org[kk] をみたす、最も k に近い値)
次に自動修正方法について説明する。自動修正とマニュアル修正の違いは、修正する範囲を自動判別するか、マニュアル指定するかだけの違いで、それ以外は同じ手順である。
【0089】
符号化難易度の測定時のプルダウン位相の自動設定時に位相の誤検出をする確率は50%よりも十分に小さいことから、位相が不連続になった区間の長さを調べることで正しい位相検出がおこなわれた位置を特定できる。
【0090】
図10に示すような測定パターンである場合、位相が不連続になった区間は、ピクチャモードp_mode[k]が前の値と同じ値を示した区間であり、このときをpd_mode=1とし、それ以外の部分ではpd_mode=0とすると、上記pd_mode=1となった部分のフレーム数Hz_countが“2”になったところから“3”になったところまでが位相が不連続になった区間である。
【0091】
図11にフローチャートを示す。ここでは、エンコードする素材のスタート点から数えてk番目のフレームの測定されたピクチャモードをp_mode[k]とする。また、0≦k≦kendの範囲でプルダウンパターンの初期位相の測定を行う場合を考える。
【0092】
先ず、ステップS61でps=0、error_min=kend+1とし、ステップS62でk=0,error[0]=error[1]=0,Hz_count=0とする。
【0093】
ステップS63においては、k>0で、p_mode[k]とp_mode[k-1]が同じ値の区間を判断し、同じであればステップS64でpd_mode=1とし、それ以外の部分ではステップS65のようにpd_mode=0とする。そして、ステップS66でpd_mode=1である部分のフレーム数Hz_countをカウントする。
【0094】
次に、ステップS67からステップS70までで、k番目のフレームのpd_cycleをpsの初期設定値で発生させ、測定されたピクチャモードp_mode[k]と比較する。ここで違っていた場合、error[pd_mode]をカウントアップする。
【0095】
詳細には、ステップS67でフレーム番号kが5より小さいか否かを判断し、4番目までのフレームであるときには、ステップS68でpd_cycle[ps][k]!=p_mode[k]とし、5番目以上のフレームであるときには、ステップS69でpd_cycle[ps][k mod 5+5]!=p_mode[k]としてから、ステップS70でerror[pd_mode]=error[pd_mode+1]とする。
【0096】
ここで、素材をフィルムからビデオにフレーム変換した際のプルダウンパターンは、ほとんどの場合規則正しく行われている。そこで、エンコードする素材のプルダウンパターンが予めわかっているとする。素材の最初はチャプター指定され、必ずp_modeが“2”の状態でエンコードされなければならないことを考慮すると、プルダウンの初期パターンは、7つのパターンで表すことができる。
【0097】
この7つのパターンをk=10まで示すと、
となる。
【0098】
次に、ステップS71でk=k+1として、ステップS72での判定でk>kendとなるまで、上記ステップS63からステップS71までの処理を繰り返す。
【0099】
そして、ステップS73でHz_countの値がkend/2+1よりも大きい場合、ステップS74に進み、Hz_mode=1として測定された素材はプルダウン処理されていないと判断する。また、Hz_countの値がkend/2+1以下である場合、ステップS75に進み、Hz_mode=0として測定された素材はプルダウン処理されていると判断する。
【0100】
そして、psに対するエラーの大きさを比較し、最小のものを初期位相のモードとして決定する。すなわち、ステップS76でerror[Hz_mode]がerror_minよりも小さければerror_min=error[Hz_min]とし、pd_start=psとする。
【0101】
ステップS78でps=ps+1とし、ステップS79でps>6となるまでステップS62からステップS78までの処理を繰り返す。
【0102】
このように、上記図1に示したビデオエンコードシステムの具体例では、マニュアル又は自動でビデオ素材のプルダウンパターンと一致した位相でエンコードを実行することができるので、動きのぎこちない部分が解消され、高画質が実現できる。
【0103】
なお、上記画像伝送方法及び装置によって、エンコードされたビデオ素材を記録している上記DVDのような記録媒体は、対象となる画像に動きがない場合でも、プルダウンパターンの位相が正しく検出されているので、フレーム間に不自然な動きを生じさせることのない、高品質の映像を記録している。
【0104】
さらに、上記画像伝送方法によって、エンコードされたビデオ素材を伝送するときには、対象となる画像に動きがない場合でも、プルダウンパターンの位相が正しく検出されているので、フレーム間に不自然な動きを生じさせることのない、高品質の映像を伝送できる。
【0105】
【発明の効果】
本発明に係る画像符号化方法及び装置によれば、プルダウンパターンの位相を検出するのに、対象となる画像に動きがない場合でも、プルダウンパターンの位相を正しく検出でき、フレーム間に不自然な動きの生じるのを防ぐように、符号化処理を施すことができる。
【図面の簡単な説明】
【図1】本発明に係る画像符号化方法及び装置の実施の形態となるビデオエンコードシステムのブロック図である。
【図2】マニュアル修正を行う際の設定ウインドウの具体例を示す図である。
【図3】位相パターン修正工程で行う実際のプルダウンパターンの位相修正処理手順を説明するためのフローチャートである。
【図4】プルダウンパターン修正後のピクチャータイプに施す、ピクチャタイプ修正処理手順を説明するためのフローチャートである。
【図5】上記図3に示したプルダウンパターン修正の手順の第1の具体例を説明するためのタイミングチャートである。
【図6】上記図3に示したプルダウンパターン修正の手順の第2の具体例を説明するためのタイミングチャートである。
【図7】上記図4に示したピクチャタイプ修正の手順の第1の具体例を説明するための図である。
【図8】上記図4に示したピクチャタイプ修正の手順の第2の具体例を説明するための図である。
【図9】上記図4に示したピクチャタイプ修正の手順の第3の具体例を説明するための図である。
【図10】プルダウンパターンの自動修正方法について説明するためのタイミングチャートである。
【図11】プルダウンパターンの自動修正方法について説明するためのフローチャートである。
【図12】2パスエンコードシステムを採用した従来のビデオエンコードシステムの具体例のブロック図である。
【図13】GOP構造を説明するための図である。
【図14】上記図12に示した従来のビデオエンコードシステムの動作を説明するためのフローチャートである。
【図15】上記従来のビデオエンコードシステムによって実行されるビット配分計算処理を説明するための図である。
【図16】上記図14のフローチャートに示したステップS3のビット配分計算処理の詳細を説明するためのフローチャートである。
【図17】GOP単位のビット割当処理のための評価関数を示す図である。
【図18】プルダウン変換処理を説明するための図である。
【図19】ピクチャーモードの状態遷移図である。
【符号の説明】
1 スーパーバイザコントローラ、20 ビデオエンコードコントローラ、22 ビット配分計算部、23 MPEGエンコードコントローラ、25 MPEGエンコーダ
Claims (5)
- プルダウン変換処理の施されるビデオ素材を符号化する画像符号化方法において、
上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出工程と、
上記位相パターン検出工程が検出した位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正工程と、
上記位相パターン修正工程で修正した位相パターンに基づいて上記ビデオ素材のビット配分を計算する計算工程とを備えることを特徴とする画像符号化方法。 - フレーム内符号化画像、フレーム間順方向予測符号化画像、双方向予測符号化画像を用いて上記ビデオ素材を符号化することを特徴とする請求項1記載の画像符号化方法。
- プルダウン変換処理の施されるビデオ素材を符号化する画像符号化装置において、
上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出手段と、
上記位相パターン検出手段により検出された位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正手段と、
上記位相パターン修正手段により修正された位相パターンに基づいて上記ビデオ素材のビット配分を計算する計算手段と
を備えることを特徴とする画像符号化装置。 - ビデオ素材のプルダウン変換変換処理に伴う位相パターンの乱れを修正する画像処理方法において、
上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出工程と、
上記位相パターン検出工程が検出した位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正工程と
を備えることを特徴とする画像処理方法。 - ビデオ素材のプルダウン変換処理に伴う位相パターンの乱れを修正する画像処理装置において、
上記プルダウン変換処理の位相パターンの乱れを検出する位相パターン検出手段と、
上記位相パターン検出手段により検出された位相パターンの乱れを、位相パターンの乱れた位置のフレームの前後の位相関係に基づいて時間的に後ろの方から修正していき、修正する範囲よりも前の範囲との接続がプルダウンパターンが乱れた場合に許される所定のピクチャーモードの値を繰り返して修正する位相パターン修正手段と
備えることを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11314397A JP4161385B2 (ja) | 1997-04-30 | 1997-04-30 | 画像符号化方法及び装置並びに画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11314397A JP4161385B2 (ja) | 1997-04-30 | 1997-04-30 | 画像符号化方法及び装置並びに画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10304379A JPH10304379A (ja) | 1998-11-13 |
JP4161385B2 true JP4161385B2 (ja) | 2008-10-08 |
Family
ID=14604669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11314397A Expired - Fee Related JP4161385B2 (ja) | 1997-04-30 | 1997-04-30 | 画像符号化方法及び装置並びに画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4161385B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4668767B2 (ja) | 2005-10-31 | 2011-04-13 | 富士通セミコンダクター株式会社 | 動画像符号化装置及び動画像符号化プログラム |
-
1997
- 1997-04-30 JP JP11314397A patent/JP4161385B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10304379A (ja) | 1998-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3361009B2 (ja) | ビデオ符号化方法および速度量子化モデルを利用して符号化を行うシステム | |
US6724977B1 (en) | Compressed video editor with transition buffer matcher | |
KR101242447B1 (ko) | 프로그램, 복호 장치, 복호 방법, 및 기록 매체 | |
JP3740813B2 (ja) | 画像符号化方法および画像符号化装置 | |
JP3911768B2 (ja) | 画像符号化方法及び画像符号化装置 | |
JP3837889B2 (ja) | エンコード方法およびエンコード装置 | |
EP0633693A2 (en) | Flagged video signal recording apparatus and reproducing apparatus | |
US5793894A (en) | Image data editing apparatus and decoding apparatus | |
JP3609571B2 (ja) | 画像再生装置 | |
JP4650454B2 (ja) | 符号化装置及び符号化方法 | |
JP4161385B2 (ja) | 画像符号化方法及び装置並びに画像処理装置及び画像処理方法 | |
JP4384869B2 (ja) | 記録装置および方法、記録媒体、並びにプログラム | |
JP4462643B2 (ja) | 画像符号化方法及び画像符号化装置 | |
EP1061522B1 (en) | Recording apparatus | |
US6282242B1 (en) | Data compression device that switches between intra-frame coding and inter-frame coding | |
JP3253530B2 (ja) | 動画像記録装置 | |
JPH10304372A (ja) | 画像符号化方法および装置、画像伝送方法 | |
JP2000324448A (ja) | データ記録装置、データ記録再生装置、データ記録方法およびデータ記録再生方法 | |
JPH1198514A (ja) | 画像符号化装置および方法 | |
JP2003324690A (ja) | 映像記録再生装置 | |
JP3861454B2 (ja) | 動画データ圧縮装置 | |
JP2002514861A (ja) | Mpeg符号化信号のトリックプレイ再生 | |
JPH10304376A (ja) | 画像符号化方法及び装置並びに記録媒体並びに画像伝送方法 | |
JP4867872B2 (ja) | 画像処理装置、この画像処理装置の制御方法、及び、プログラム | |
US20070183498A1 (en) | Apparatus and method for transition point detection, recording apparatus and record playback apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070604 |
|
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: 20080701 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080714 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |