JP4462643B2 - 画像符号化方法及び画像符号化装置 - Google Patents
画像符号化方法及び画像符号化装置 Download PDFInfo
- Publication number
- JP4462643B2 JP4462643B2 JP10978097A JP10978097A JP4462643B2 JP 4462643 B2 JP4462643 B2 JP 4462643B2 JP 10978097 A JP10978097 A JP 10978097A JP 10978097 A JP10978097 A JP 10978097A JP 4462643 B2 JP4462643 B2 JP 4462643B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- encoding
- picture
- group
- encoded
- 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、フレーム内符号化画像(Iピクチャ)、フレーム間順方向予測符号化画像(Pピクチャ)、双方向予測符号化画像(Bピクチャ)を所定数含んでなる画像符号化グループ(GOP)により、ビデオ素材を符号化する画像符号化方法及び画像符号化装置に関する。
【0002】
【従来の技術】
ビデオ情報をディジタルビデオディスク(Digital Video Disk:DVD)やビデオCDのようなパッケージメディアに蓄積する際、上記ビデオ情報に圧縮符号化処理を施すエンコードシステムでは、最初に素材の画像の符号化難易度(Difficulty)を測定し、その符号化難易度を元に、パッケージメディアの記録容量内の与えられたバイト数に収まるように、各ビデオ情報のフレームごとにビット配分(以下、Bit assign)処理を行ってエンコードしている。
【0003】
例えば、上記ディジタルビデオディスク用に、ビデオ情報を圧縮符号化するビデオエンコードシステムの具体例を図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内部のビット配分計算処理プログラム(Bit_Assign)を実行させるMPEGエンコーダコントローラ13と、ディジタルVTRコントローラ14とを備えている。
【0008】
ユーザは、グラフィカルユーザインターフェース11を用い、ビット配分計算部12の上記ビット配分計算処理プログラム(BIT_ASSIGN)と、MPEGエンコーダコントローラ13の3つのプログラムを管理することができる。また、DVTRコントローラ14も管理できる。
【0009】
MPEGエンコーダコントローラ13は、上記ビット配分計算部12内部の上記ビット配分計算処理プログラム(BIT_ASSIGN)を実行すると共に、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がエンコード素材の符号化難易度を測定する。ここでは、各画素のDC値や動きベクトル量MEも読んでおく。そして、これらの測定結果により、ファイルを作成しておく。
【0012】
実際の符号化難易度の測定は以下のように行う。エンコード素材となるビデオ情報はDVTR17によってディジタルビデオカセットにマスターとして収録されており、このマスターをDVTRコントローラ14でDVTR17を制御しながら再生してエンコード素材の符号化難易度を測定する。
【0013】
ここでは、符号化の際に量子化ステップ数を固定値に設定した条件で発生ビット量を測定する。動きが多く、高い周波数成分が大きい画像では発生ビット量が大きくなり、静止画や平坦な部分が多い画像では発生ビット量が少なくなる。この発生ビット量の大きさを上記符号化難易度としている。
【0014】
次に、ステップS3では、ステップS1で設定されたエンコード条件を元に、ステップS2で測定された各ピクチャーの符号化難易度の大きさに応じて、ビット配分計算部12内部のビット配分計算プログラム(BIT_ASSIGN)を実行し、割り当てビット量(ターゲット量 :target)の配分計算を行う。
【0015】
そして、このステップS3でのビット配分計算による結果を使ってエンコードを実行するかどうかをMPEGエンコーダ15に内蔵されているローカルデコーダ出力の画質によってユーザに判断させる。
【0016】
実際には、ステップS4で、上記ビット配分によるビットストリームをRAID16に出力しないで、任意の処理範囲を指定できるプレビユーモード(Preview)を行って、ユーザーが画質をチェックする。
【0017】
ステップS5の画質評価で画質に問題がない場合にはステップS6に進み、エンコード処理を実行するが、画質に問題がある場合には、ステップS8に進み、問題のある部分のレートを上げるとか、フィルターレベルを調整するといった画質調整のためのカスタマイズ作業を行ってから、ステップS9で再びビット配分計算部12内部のビット配分計算処理プログラム(BIT_ASSIGN)を実行し、ビット再配分計算を行う。
【0018】
その後、ステップS4に戻り、カスタマイズした部分をプレビューして、ステップS5で画質を確認し、すべての部分が良ければステップS6に進み、全体のエンコードをMPEGエンコーダ15に実行させる。エンコード結果であるビットストリームは、ステップS7でSCSI(Small Computer System Interface)経由で直接、RAID16に書き込まれる。
【0019】
ステップS6でのエンコード後、ビデオエンコードコントローラ10は上述したようなエンコード結果情報をネットワーク経由でスーパーバイザコントローラ1に報告する。
【0020】
この図14のフローチャートにおいて、ステップS2,ステップS4及びステップS6を除いた各ステップの処理はオフライン処理を意味している。
以下、特に、ステップS3で実行されるビット配分計算部12内のビット配分計算処理について詳細に説明する。先ず、スーパーバイザコントローラ1からディスク容量の中から上記ビット総量(QTY_BYTES)と、最大ビットレート(MAXRATE)が指定されると、これに対して、MPEGエンコーダコントローラ13は、最大ビットレート(MAXRATE)以下になるように制限を加えた総ビット数 (USB_BYTES)を求め、この値からGOPのヘッダ(GOP header)に必要なビット数(TOTAL_HEADER)を引いた値と、全体のフレーム総数からターゲット数の総和の目標値となるSUPPLY_BYTESを算出する。
【0021】
そして、このSUPPLY_BYTESの大きさに収まるようにビット配分計算部12内部のビット配分計算処理プログラムを実行し、各ピクチャーへの割り当てビット量(以下、ターゲット量:target)を配分する。
【0022】
このステップS3でのビット配分計算処理を詳細に示したのが図15のフローチャートである。
【0023】
先ず、ステップS11で上述したように、スーパーバイザコントローラ1から送られた上記ビット総量(QTY_BYTES)と、最大ビットレート(MAXRATE)が入力されると、MPEGエンコーダコントローラ13は、上述したようにSUPPLY_BYTESを算出する。
【0024】
次に、上記図14のステップS2の符号化難易度の測定で作成された測定ファイルをステップS12でそのまま読み込み、符号化難易度の測定の際に、併せて測定された各画像のDC値や動きベクトル量MEの大きさのパラメータの変化量から、ステップS13でシーンが変化するポイントを見つける。
【0025】
このステップS13でのシーンチェンジ検出/処理は、本件出願人が既に特願平8-274094号明細書及び図面にて開示した「映像信号処理装置」に応じてシーンチェンジ点を検出する処理である。
【0026】
この「映像信号処理装置」は、映像信号の各フレームの直流レベルを検出し、この直流レベルを曲線近似して得られる誤差値より、上記映像信号のシーンチェンジのフレームを検出して、シーンチェンジ点を明らかにする。
【0027】
そして、図16に示すように、シーンがチェンジしたとして検出したポイントは、PピクチャーをIピクチャーに変更して、画質改善を計る。
【0028】
次に、ステップS14でチャプター(CHAPTER)境界処理を行う。DVD再生装置でのチャプターサーチ時には、特定されないピクチャーからジャンプしてくることになるが、その場合でも再生画像の乱れがないようにするため、図17に示すようにチャプターの位置が必ずGOPの先頭になるようにピクチャータイプを変更する。図17ではPピクチャをIピクチャに変更している。
【0029】
このようなステップS13,ステップS14での一連の作業の結果、ピクチャータイプ(I,P,Bピクチャ)の変更処理が実行されると、符号化難易度測定時のピクチャータイプが変更されるため、ステップS15で変更後のピクチャータイプに合わせた符号化難易度の値に補間/補正する。ステップS15での符号化難易度の補間/補正によって得られた符号化難易度と、全体に与えられたビット数(SUPPLY_BYTES)に応じて、ステップS16で各ピクチャーごとのターゲットビット数を計算する。
【0030】
そして、ステップS17でRAID16にエンコード結果のビットストリームを書き込む際のアドレスの計算を行った上で、ステップS18に進み、エンコーダ用のコントロールファイルを作成する。
【0031】
例えば、ビット配分計算の具体例として、先ずGOP単位にビット量を配分してから、各GOP内で各ピクチャーの符号化難易度に応じたビット配分を行う場合を説明する。ここでは、各GOP毎の符号化難易度の和であるGOP_DIFFに応じて、エンコードする際のGOP単位のビット割り当て量(GOP_TARGET)を配分している。このGOP_DIFFとGOP_TARGETとを変換するもっとも簡単な関数の例を図18に図示する。
【0032】
この例では、縦軸YをGOP_TARGET、横軸XをGOP_DIFFとして、Y=AX+Bという評価関数を用いている。なお、全てのピクチャーの符号化難易度の総和(DIFFICULTY_SUM)を算出しておく。
【0033】
先ず、最大ビットレート以下になるように制限を加えた総ビット数USB_BYTESを、スーパーバイザコントローラ1から与えられたビット総量QTY_BYTESと、最大ビットレートMAXRATEを使って、
USB_BYTES = min (QTY_BYTES,MAXRATE × KT × total_frame_number)・・・(1)
のように求める。
【0034】
ここで、NTSCの場合 KT=1/8(bits)/30(Hz), PALの場合1/8(bits)/25(Hz)である。また、total_frame_number はエンコードする素材のフレーム総数、min(s,t)は s,t の内で小さい方を選択する関数である。
【0035】
また、SUPPLY_BYTESは、上記(1)式で求めたUSB_BYTESからGOPのヘッダに必要なビット数TOTAL_HEADERを引いて、
SUPPLY_BYTES = USB_BYTES - TOTAL_HEADER ・・・(2)
のように求める。
【0036】
次に、全てのピクチャの符号化難易度の総和は、
DIFFICULTY_SUM = Σdifficulty ・・・(3)
と表せる。
【0037】
また、GOP_TARGETの最小値を次の(4)式のように、
B = GOP_MINBYTES ・・・(4)
とする。
【0038】
すると、図18に示した評価関数のような
Σy = A×Σx + B×n
が得られる。
【0039】
ここで、Σy = SUPPLY_BYTES, Σx = DIFFICULTY_SUM 、n は GOP の総数である。
【0040】
よって A = (SUPPLY_BYTES - B×n)/ DIFFICULTY_SUM となる。すると、各GOP毎のターゲット量は、
GOP_TARGET = A × GOP_DIFF + B ・・・(5)
と表せる。
【0041】
その後、各GOP内で各ピクチャーの符号化難易度に応じたビット配分を行う。GOP内での各ピクチャーの配分は符号化難易度 の大きさに比例させた場合には、各ピクチャーのターゲット量は以下の(6)式で求められる。
【0042】
target(k) = GOP_TARGET × diffuculty(k)/GOP_DIFF ・・・(6)
(1 ≦ k ≦ GOP 内の picture 数)
この場合、素材の中に極端に難しい(GOP_DIFFが大きい)ピクチャーがあると、非常に大きいGOP_TARGET量となってしまい、システムで許容されている最大レートを越えてしまうため、GOP_MAXBYTESといった固定量でリミッタをかけることが必要である。また、最小のターゲット量もGOP_MINBYTESで制限する。具体的には、以下に説明するアルゴリズムによっている。
【0043】
MPEGビデオのエンコード時には、仮想デコーダのバッファ残量を考慮しながらビット配分することが義務付けられている。この仮想バッファ残量の計算をVBV(Video buffering Verifier) という。
【0044】
先ず、図19を用いてVBV計算方法を説明する。この計算の最初のOCCUPANCY_UP(0)は次の(7)式に示すように、固定値(この例では VBVMAX * 2/3 )からスタートする。
【0045】
OCCUPANCY_UP(0) = VBVMAX * 2/3 ・・・(7)
以下の OCCUPANCY_UPはグラフ上の各ピクチャーの上側のポイント、OCCUPANCY_DOWNはグラフ上の各ピクチャーの下側のポイントを意味している。
【0046】
DVDのバッファサイズVBVMAX(1.75Mbits)に対して、k番目のピクチャーのバッファーのスタート点をOccupancy_up(k), k 番目のピクチャーのターゲット量をtarget(k)とすると、ピクチャーにビットを吐き出したあとのバッファー残量 OCCUPANCY_DOWN(k)は後述する(8)式で表される。このバッファーには、デコーダーのピックアップからビデオのデータ量に応じたビットレートのデータ量(SYSTEM_SUPPLY)が蓄積される。この供給後のバッファー残量 OCCUPANCY_UP(k+1) は次の(9)式で表される。
【0047】
OCCUPANCY_DOWN(k) = OCCUPANCY_UP(k) - target(k) ・・・(8)
OCCUPANCY_UP(k+1) = OCCUPANCY_DOWN(k) + SYSTEM_SUPPLY ・・・(9)
この供給後のバッファ残量は、図19の図中の右上に上がる量に相当する。供給されるビットレートが大きいほど傾きは大きくなり、バッファーにデータがたまりやすくなる。バッファがいっぱいになった場合には、ピックアップからバッファーへの供給がストップするため、バッファーのオーバーフローに関しては考慮する必要はない。このことは、ある設定値ちょうどに制御する必要はなく、設定値以上になるように制御すれば良いことを意味している。
【0048】
逆に、各ピクチャーのデータ量が大きいと、バッファにたまったデータは減少する。このバッファー残量が一定値以下にならないようにターゲットビット量を計算する。そして、ビデオのデータ量に応じたビットレートのデータ量のSYSTEM_SUPPLYを、
SYSTEM_SUPPLY = MAXRATE(bps) * KT ・・・(10)
のように求める。
【0049】
図20にGOP単位でのターゲットビット配分計算をおこなった例を示す。図20の(A)は評価関数とGOP_MAXRATE制限を考慮して求めたターゲット量に対して上記VBVバッファ計算をおこなった場合である。ここで、図20の(A)での[1],[4」,「7」のピクチャーでVBVバッファーの下限であるVBVMINの値を下回っている。そこで、VBVがVBVMINを下回ったピクチャーを含むGOPのターゲット量を削減させる。GOP内でVBV制限を加える前のターゲット量でVBV計算を実行したときのOCCUPANCYの最小値をOcc_minとすると調整量は以下の式であらわされる。ここで、制限をおこなうスタート点kstartは、OCCUPANCY_UP(k)が基準値(VBVLINE : たとえば VBVMAX * 3/4) 以上のkの値で、このときのOCCUPANCY_UP(k)の値をOcc_startとする。
OCCUPANCY_MIN< VBVMIN の時
r = (Occ_start - VBVMIN)/ (VBVSTART - Occ_min) ・・・(11)
各ターゲットに対して target(j) = target(j) × r (kstart ≦ j ≦ k) とする。
【0050】
このようにして求められたターゲット量を用いて作成されたコントロールファイルによるエンコード処理を行うことで、素材の画像の難しさに応じた可変ビットレートエンコーディングが実行される。
【0051】
【発明が解決しようとする課題】
ところで、DVDフォーマットでは、1つのGOP構造に含まれるフィールド数(以下 display_fields) がNTSCで36以下、PALで30以下という規定がある。符号化難易度測定時には、この制限を守るGOPの長さでGOPの構造が決められる。オフライン処理によるチャプター指定やシーンチェンジ指定が加わると、図16、図17のようにIピクチャが追加されるため、GOPの数が増加し、かつ、長さの短いGOPが発生することになる。
【0052】
そもそも、Iピクチャはフレーム内だけで符号化されるため、符号化効率が悪い。したがって、GOPの数がむやみに増加すると符号化効率が悪くなる。また、極端に短い長さのGOPが存在するということは、符号量の多いIピクチャの間隔が狭いことを意味する。
【0053】
図20に示したVBVの計算の例でわかるように、大きいターゲット量のピクチャーの間隔が短いとVBVバッファー制限にかかりやすくなり、その結果その部分のレートを下げなければならなくなり問題となっていた。
【0054】
本発明は、上記実情に鑑みてなされたものであり、フレーム内符号化画像、フレーム間順方向予測符号化画像、双方向予測符号化画像を所定数含んでなる画像符号化グループの長さが短くなっても符号化効率の悪化を防ぐことのできる画像符号化方法及び装置の提供を目的とする。
【0055】
【課題を解決するための手段】
本発明に係る画像符号化方法は、上記課題を解決するために、Iピクチャ、Pピクチャ、Bピクチャを所定数含んでなる画像符号化グループにより、ビデオ素材を符号化する画像符号化方法において、上記画像符号化グループ内でシーンがチェンジするポイントを検出したか、又はチャプター指定を行ったことにより符号化画像のタイプを変更し、さらに変更した符号化画像に関連する各画像符号化グループの長さを変更する変更工程と、上記変更工程で長さを変更した画像符号化グループと隣接する他の画像符号化グループとの間隔を予め決定されている符号化画像数の範囲内で調整する際に、当該画像符号化グループより一つ前の画像符号化グループ内のPピクチャのうち、符号化難易度の大きいPピクチャをIピクチャに変更することにより各画像符号化グループの修正を行う修正工程と、上記修正工程で構造が修正された上記各画像符号化グループ内の符号化難易度を補正する補正工程と、上記補正工程で補正された符号化難易度を基に、上記各画像符号化グループの各画像のビット数を計算する計算工程とを備える。
【0056】
また、本発明に係る画像符号化装置は、上記課題を解決するために、Iピクチャ、Pピクチャ、Bピクチャを所定数含んでなる画像符号化グループにより、ビデオ素材を符号化する画像符号化装置において、上記画像符号化グループ内でシーンがチェンジするポイントを検出したか、又はチャプター指定を行ったことにより符号化画像のタイプを変更し、さらに変更した符号化画像に関連する各画像符号化グループの長さを変更する変更手段と、上記変更手段で長さを変更した画像符号化グループと、隣接する他の画像符号化グループとの間隔を予め決定されている符号化画像数の範囲内で調整する際に、当該画像符号化グループより一つ前の画像符号化グループ内のPピクチャのうち、符号化難易度の大きいPピクチャをIピクチャに変更することにより各画像符号化グループの修正を行う修正手段と、上記修正手段で構造が修正された上記各画像符号化グループ内の符号化難易度を補正する補正手段と、上記補正手段で補正された符号化難易度を基に、上記各画像符号グループの各画像のビット数を計算する計算手段とを備える。
【0059】
ここで、上記画像符号化グループの長さは、隣接する他の画像符号化グループとの間隔が予め決定されている符号化画像数の範囲内となるように調整されるので符号量の多いフレーム内符号化画像の狭い範囲での発生頻度を抑えることができる。
【0060】
【発明の実施の形態】
以下、本発明に係る画像符号化方法及び装置の実施の形態について図面を参照しながら説明する。
【0061】
この実施の形態は、例えばディジタルビデオカセットテープに記録されたビデオ素材をディジタルビデオディスク(Digital Video Disk:DVD)用に、エンコードするためのビデオエンコードシステムであり、図1に示すような構成である。
【0062】
このビデオエンコードシステムは、上記図12に示したビデオエンコードシステムと基本的に構成を同じにしているが、ビデオエンコードコントーローラ20でのビット配分処理を異ならせている。なお、上記図12と同様の動作を行う各部については同一符号を付し説明を省略する。
【0063】
本実施の形態となる図1に示したビットエンコードシステムの基本的な動作は、上記図14のフローチャートを参照しながら説明することができるが、制御手段となるMPEGエンコーダコントローラ23が実行する上記ビット配分計算部22内のビット配分プログラム(BIT_ASSIGN)は、図2に示すような処理フローとなる。
【0064】
この図2に示す処理フローは、上記図15に示したフローチャートのステップS14とステップS15との間に、ステップS20としてGOP構造の修正処理工程を設けている。
【0065】
このステップS20は、ステップS13,ステップS14で画像符号化グループの長さが変更されたときには、隣接する複数の画像符号化グループとの間隔を、予め決定されている上記各符号化画像の数の範囲内で調整するという処理である。
【0066】
以下、ステップS13のシーンチェンジ処理や、ステップS14でのチャプターの境界処理で、短くなったGOPに対して、DVDフォーマットの制限内(DISPLAY_MAX:この例では36以内)で数を削減または、極端に短いGOP長(8以下)の構造を修正する例を図3〜図8を用いて説明する。ここでは後述するプルダウン(pulldown)変換処理は無いものとする。また、GOPの並びをGOP0,GOP1,GOP2とし、GOP1を処理の対象とする。ただし、GOP1のIピクチャがチャプター指定又はシーンチェンジ指定されている場合にはこの処理は行わない。
【0067】
先ず、図3及び図4を用い、チャプター指定に対してGOP数を削減する場合について説明する。図3の(A)はチャプター指定される前の、各GOP内の構成を示している。チャプター指定される前のGOP0の長さ、すなわちフィールド数display_fieldsと、GOP1のフィールド数display_fieldsは共に“24”である。ここで、GOP1内の先頭から5番目のピクチャ(Bピクチャ)のときにチャプター(CHAPTERと図示する)指定されると、このBピクチャは図3の(B)のようにIピクチャになる。
【0068】
このため、図3の(A)のGOP1は、図3の(B)に示すようにフィールド数display_fields“8”のGOP1と、フィールド数display_fields“16”のGOP2の二つになる。
【0069】
しかし、この図3の(B)に示したGOP1は、フィールド数display_fieldsが“8”と極端に短いのでIピクチャが、次のGOP2のIピクチャと接近し過ぎることになり符号化効率が悪くなり上述したように構造の修正を必要とする。ここでは、GOP1のIピクチャをPピクチャに変更することにより、上記図3の(B)のGOP1を削除し、GOP0とGOP2よりなる図3の(C)を形成する。GOP0の先頭G[0]とGOP2の先頭G[2]間のフィールド数display_fieldsは“32”となるので、上述したDISPLAY_MAX“36“以内というDVDフォーマットの制限を満たすことができる。
【0070】
チャプター指定によりGOPを削減する場合を示した図3を一般化すると図4のようになる。
【0071】
ここで、フレーム番号k1とk2の間のdisplay_fields数を次の式で表し、
display_fields(k1 〜 k2)=(k2 - k1)×2+d_adjx
d_adjを、プルダウン変換処理されている場合の補正値とする。プルダウン変換処理されていない場合には d_adjx = 0 となる。
GOP1のIピクチャがチャプター、シーンチェンジ指定されていないとした場合を前提に図4は、
(G[2] - G[0])× 2 + d_adj0 ≦ DISPLAY_MAXの時、GOP1のIピクチャI[1]のピクチャータイプをPピクチャP[0]に変換した状態を示す。
【0072】
すなわち、チャプター指定によりBピクチャをIピクチャに変更して図4の(A)に示すようにG[1]を先頭にしたGOP1と、G[2]を先頭にしたGOP2とを形成したが、これではGOP1のフィールド数が“8”と短いので、GOP1のIピクチャI[1]をPピクチャP[0]に変換して図4の(B)に示すようにGOP1を削除している。
【0073】
次に、図5及び図6を用いてチャプター指定に対してGOPを削減できないとき、隣接する一つ前のGOP長を短くする場合について説明する。図5の(A)はチャプター指定される前の、各GOPの構成を示している。チャプター指定される前のGOP0の長さ、すなわちフィールド数display_fieldsと、GOP1のフィールド数display_fieldsは共に“30”である。ここで、GOP1内の先頭から5番目ピクチャであるBピクチャの位置でチャプター指定されると、この5番目のBピクチャは図5の(B)のようにIピクチャになる。
【0074】
このため、図5の(A)のGOP1は、図5の(B)に示すようにフィールド数display_fields“8”のGOP1と、フィールド数display_fields“22”のGOP2との二つのGOPに分けられる。
【0075】
ここで、GOP0の長さが閾値(ここでは23)以上のため、図5の(B)のGOP1のIピクチャを図5の(C)のようにPピクチャに変え、図5の(B)のGOP0の一番後ろのPピクチャを図5の(C)のようにIピクチャに変更してGOP0の長さ、すなわちフィールド数display_fieldsを“24”フィールドに削減し、GOP1の長さdisplay_fieldsを“14”に伸ばしている。
【0076】
また、図5の(D)に示すように、図5の(B)のGOP1のIピクチャをPピクチャに変え、図5の(B)のGOP0の後ろから4番目のピクチャであるPピクチャをIピクチャに変更してGOP0の長さを18フィールドに削減し、GOP1の長さを20フィールドに伸ばしてもよい。
【0077】
このように、変更の対象となるGOP0のPピクチャは複数(この例では2個)存在するが、その場合には、Pピクチャの符号化難易度の大きい方を選択してIピクチャに変更する。その理由は、符号化難易度の大きい方は、符号化予測が悪いことを意味しているため、フレーム内で処理させるように変更した方が有利だからである。
【0078】
チャプター指定によりGOPの長さを削減する場合を示した図5を一般化すると図6のようになる。
【0079】
ここで、図6は、
(G[1] - G[0])× 2 + d_adj1≧23で、
かつ(G[2] - G[1])× 2 + d_adj2 ≦8
の変換条件のとき、
I[1]のピクチャータイプをPピクチャP[1]に変更し、
さらに、GOP0内の複数のPピクチャの内、符号化難易度が大きい方のPピクチャをIピクチャに変換する場合について、二つに分けて示している。
【0080】
変換前の図6の(A)において、GOP0の先頭から15番目のPピクチャP15[0]が、先頭から12番目のPピクチャP12[0]の符号化難易度より大きい場合、図6の(B)に示すように、PピクチャP15[0]をIピクチャに変換する。
【0081】
一方、変換前の図6の(A)において、GOP0の先頭から15番目のPピクチャP15[0]が、先頭から12番目のPピクチャP12[0]の符号化難易度以下である場合、図6の(C)に示すように、PピクチャP12[0]をIピクチャに変換する。
【0082】
次に、図7及び図8を用いてシーンチェンジ処理に対してGOPを削減できない場合で隣接する一つ後ろのGOP長を短くする場合について説明する。図7の(A)はシーンチェンジ処理される前の、各GOPの構成を示している。シーンチェンジ処理される前のGOP0とGOP1のフィールド数display_fieldsの長さは“30”である。ここで、GOP0内の最後のPピクチャの位置でシーンチェンジ(Scene changeと図示する)処理されると、この最後のPピクチャを図7の(B)のようにIピクチャに変換する。このため、図7の(A)のGOP0は二つのGOPに分けられ、図7の(B)に示すようにフィールド数display_fields“24”のGOP0’と、フィールド数display_fields“6”のGOP0になる。このGOP0の後には、フィールド数display_fields“30”のGOP1が続いている。
【0083】
ここで、GOP1の長さが閾値(ここでは 23 )以上のため、図7の(C)に示すようにGOP1のIピクチャをPピクチャに変え、GOP1の先頭から6番目のピクチャであるPピクチャをIピクチャに変更してGOP1の長さを“24”フィールドに削減し、GOP0の長さを“12”に伸ばしている。
【0084】
この場合、変更の対象となるPピクチャの数は上記図5の場合より制限している。その理由は、処理をフレーム番号の小さい順におこなっていることから、GOP1の長さを短くしすぎると、次のGOPの処理に影響がおよぼされることを防止するためである。
【0085】
シーンチェンジ処理によりGOPの長さを削減する場合を示した図7を一般化すると図8のようになる。
【0086】
ここで、図8は、
(G[2] - G[1])× 2 + d_adj2≧23で、
かつ(G[1]-G[0])× 2 + d_adj1 ≦8
の変換条件のとき、
I[1]のピクチャータイプをPピクチャに変更し、P[1]のピクチャータイプをIピクチャに変更する様子を示している。
【0087】
すなわち、シーンチェンジ処理によりPピクチャをIピクチャに変更して図7の(B)に示すようにGOP0’とGOP1とを形成したが、これではGOP0のフィールド数が“6”と短いので、GOP1のIピクチャI[1]をPピクチャに変換し、さらにGOP1の最初のPピクチャをIピクチャに変換して図8の(B)に示すようにGOP1の長さを削減している。
【0088】
このように、本発明による画像符号化方法及び装置によれば、チャプターの指定やシーンチェンジ処理されて短くなったGOPを削減または、極端に短いGOP長の構造を修正することができ、符号化効率を改善することができる。
【0089】
なお、以上には、プルダウン変換処理を考慮しない場合を説明したが、プルダウン変換処理によりdisplay_fields 数を補正する場合について以下に説明する。最初にプルダウン変換処理について説明する。
【0090】
映画フィルムは24コマ/秒で構成されているが、これをNTSCの30フレーム/秒に変換するために、周期的に同じフィールド画像を繰り返す処理を行っている。ここでは、この処理を2−3プルダウン処理変換ということにする。図9に2−3プルダウン変換処理の原理を示す。プルダウンのパターンの位相は、フィルム素材からNTSCビデオ素材の変換時に決定され、多くの場合パターンは規則的に変換されている。
【0091】
ビデオの1フレームは2フィールドで構成されるが、その内の 1st field を top_field とし、2nd field を bottom_field とする。また、同じフィールド画を繰り返す場所は repeat_first_field と呼ぶこととする。このような映画素材の場合、同じフィールドである位置がわかっていれば、エンコードの際にそのフィールドを符号化しないようにすれば、圧縮効率があがることになる。
【0092】
このような2−3プルダウン変換処理パターンの検出及び、パターンを考慮したプルダウンパターンの自動検出手法では、エンコードの際に現在と1フレーム前の top_field, bottom_field の差分を元に repeat_first_field の位置を調べ、プルダウン位相を検出できる。
符号化の際の2−3プルダウン変換処理のパターンによる組合せは以下の4通りである。
【0093】
0: bottom_field_first
1: bottom_field_first, repeat_first_field
2: top_field_first
3: top_field_first, repeat_first_field
これらをピクチャーモードと定義する。
【0094】
次に、2−3プルダウン変換処理パターンとNTSCのロールの先頭からのビデオフレーム番号kの関係を考える。リピートされていないtop_fieldを含む位置のkのピクチャーモードをp_mode[k]とする。すると、0〜3に属さないフレーム番号が存在することがわかる。この場合のp_modeの値を4とする。
【0095】
図10は、p_mode[k] の状態遷移図である。プルダウンが規則正しく連続している場合には、p_mode[k]の値は、次の(12)式に示すように、フレーム番号 kの増加にともなって5で割った余りの体(mod 5)において1ずつ増加していく。
p_mode[k+1] = (p_mode[k] + 1 ) mod 5 ・・・(12)
図11のadjust0, adjust1 はそれぞれ display_fields を数えるスタートのフレーム番号の p_mode と、終りのフレーム番号の p_mode に対する補正量を示している。たとえば、数え始めの p_mode が0の場合には、符号化されているものには前のフレームの bottom_field が含まれているため+1となる。数え終りの p_mode が0の場合には、最後の bottom_field が含まれていないため−1となる。
【0096】
結局、上記図4、図6、図8でプルダウン変換処理が行われた場合、G[0],G[1],G[2]に対する補正量 d_adjx は以下の式で表すことができる。
【0097】
adjust0[4] = {+1,+1,0,0} ・・・(13)
adjust1[4] = {-1,-1,0,0} ・・・(14)
d_adj0 = adjust0[p_mode[G[0]]] + adjust1[p_mode[G[2]]] ・・・(15)
d_adj1 = adjust0[p_mode[G[0]]] + adjust1[p_mode[G[1]]] ・・・(16)
d_adj2 = adjust0[p_mode[G[1]]] + adjust1[p_mode[G[2]]] ・・・(17)
このようにプルダウン変換処理により、映画フィルムをビデオに変換する場合においても、上述したようにフィールド数を補正することができるので、本発明の画像符号化方法及び装置を適用でき、チャプターの指定やシーンチェンジ処理が施されて短くなったGOPを削減または、極端に短いGOP長の構造を修正することができ、符号化効率を改善することができる。
【0098】
なお、上記画像符号化方法により圧縮画像信号が記録された記録媒体は、チャプターの指定やシーンチェンジ処理がされていても、隣接する他の画像符号化グループとの間隔が予め決定されている符号化画像数の範囲内で調整されてから、上記各符号化画像に配分するビット量が決定されている画像符号化グループを記録することになるので、符号化効率が改善された高品質の映像を提供できる。
【0099】
また、上記画像符号化方法により符号化された画像情報を記録媒体に記録するのではなく、例えば有線回線等の伝送路を用いて伝送する画像伝送方法においては、フレーム内符号化画像、フレーム間順方向予測符号化画像、双方向予測符号化画像を所定数含んでなる画像符号化グループの長さを変更するときには、隣接する他の画像符号化グループの間隔を、予め決定されている符号化画像数の範囲内で調整してから、上記各符号化画像に配分するビット量を計算して伝送するので、チャプターの指定やシーンチェンジ処理されて短くなったGOPを削減または、極端に短いGOP長の構造を修正することができ、符号化効率を改善することができる。
【0100】
【発明の効果】
本発明に係る画像符号化方法及び装置は、フレーム内符号化画像、フレーム間順方向予測符号化画像、双方向予測符号化画像を所定数含んでなる画像符号化グループの長さが短くなっても符号化効率の悪化を防ぐことができる。
【0101】
また、本発明に係る記録媒体は、チャプターの指定やシーンチェンジ処理がされていても、符号化効率が改善された高品質の映像を提供できる。
【0102】
また、本発明に係る画像伝送方法は、フレーム内符号化画像、フレーム間順方向予測符号化画像、双方向予測符号化画像を所定数含んでなる画像符号化グループの長さが短くなっても符号化効率の悪化を防いで画像を伝送できる。
【図面の簡単な説明】
【図1】本発明に係る画像符号化方法及び装置の実施の形態となるビデオエンコードシステムの具体例のブロック図である。
【図2】上記ビデオエンコードシステムに使われるビデオエンコードコントローラ内部のビット配分計算部の実行するビット配分プログラムを説明するためのフローチャートである。
【図3】チャプター指定に対してGOP数を削減する場合の、上記ビデオエンコードシステムの動作を説明するための図である。
【図4】上記図3を一般化した図である。
【図5】チャプター指定に対してGOPを削減できないとき、隣接する一つ前のGOP長を短くする場合の、上記ビデオエンコードシステムの動作を説明するための図である。
【図6】上記図5を一般化した図である。
【図7】シーンチェンジ処理に対してGOPを削減できないとき、隣接する一つ後ろのGOP長を短くする場合の、上記ビデオエンコードシステムの動作を説明するための図である。
【図8】上記図7を一般化した図である。
【図9】プルダウン変換処理を説明するための図である。
【図10】プルダウン変換処理の状態遷移図である。
【図11】プルダウン変換処理に対するGOP内フィールド数の補正値を説明するための図である。
【図12】従来のビデオエンコードシステムの具体例のブロック図である。
【図13】GOP構造を説明するための図である。
【図14】上記従来のビデオエンコードシステムにおけるエンコード処理を説明するためのフローチャートである。
【図15】上記図14に示したエンコード処理におけるビット配分計算処理を説明するためのフローチャートである。
【図16】シーンチェンジ指定によるピクチャタイプの変更を説明するための図である。
【図17】チャプター指定によるピクチャタイプの変更を説明するための図である。
【図18】GOP単位の評価関数の例を示す特性図である。
【図19】VBVの計算方法を説明するための特性図である。
【図20】ターゲットビット配分の具体例を示す図である。
【符号の説明】
1 スーパーバイザコントローラ、20 ビデオエンコードコントローラ、22 ビット配分計算部、23 MPEGエンコーダコントローラ、25 MPEGエンコーダ
Claims (3)
- Iピクチャ、Pピクチャ、Bピクチャを所定数含んでなる画像符号化グループにより、ビデオ素材を符号化する画像符号化方法において、
上記画像符号化グループ内でシーンがチェンジするポイントを検出したか、又はチャプター指定を行ったことにより符号化画像のタイプを変更し、さらに変更した符号化画像に関連する各画像符号化グループの長さを変更する変更工程と、
上記変更工程で長さを変更した画像符号化グループと隣接する他の画像符号化グループとの間隔を予め決定されている符号化画像数の範囲内で調整する際に、当該画像符号化グループより一つ前の画像符号化グループ内のPピクチャのうち、符号化難易度の大きいPピクチャをIピクチャに変更することにより各画像符号化グループの修正を行う修正工程と、
上記修正工程で構造が修正された上記各画像符号化グループ内の符号化難易度を補正する補正工程と、
上記補正工程で補正された符号化難易度を基に、上記各画像符号化グループの各画像のビット数を計算する計算工程と
を備えることを特徴とする画像符号化方法。 - 上記変更工程にてチャプター指定に伴い、符号化画像のタイプを変更することにより、当該画像符号化グループと上記他の画像符号化グループとの間隔が予め決定されている長さよりも短くなったが、画像符号化グループを削減できないとき、当該画像符号化グループより一つ前の画像符号化グループ内のPピクチャのうち、符号化難易度の大きいPピクチャをIピクチャに変更することを特徴とする請求項1記載の画像符号化方法。
- Iピクチャ、Pピクチャ、Bピクチャを所定数含んでなる画像符号化グループにより、ビデオ素材を符号化する画像符号化装置において、
上記画像符号化グループ内でシーンがチェンジするポイントを検出したか、又はチャプター指定を行ったことにより符号化画像のタイプを変更し、さらに変更した符号化画像に関連する各画像符号化グループの長さを変更する変更手段と、
上記変更手段で長さを変更した画像符号化グループと、隣接する他の画像符号化グループとの間隔を予め決定されている符号化画像数の範囲内で調整する際に、当該画像符号化グループより一つ前の画像符号化グループ内のPピクチャのうち、符号化難易度の大きいPピクチャをIピクチャに変更することにより各画像符号化グループの修正を行う修正手段と、
上記修正手段で構造が修正された上記各画像符号化グループ内の符号化難易度を補正する補正手段と、
上記補正手段で補正された符号化難易度を基に、上記各画像符号グループの各画像のビット数を計算する計算手段と
を備えることを特徴とする画像符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10978097A JP4462643B2 (ja) | 1997-04-25 | 1997-04-25 | 画像符号化方法及び画像符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10978097A JP4462643B2 (ja) | 1997-04-25 | 1997-04-25 | 画像符号化方法及び画像符号化装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007148438A Division JP4650454B2 (ja) | 2007-06-04 | 2007-06-04 | 符号化装置及び符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10304375A JPH10304375A (ja) | 1998-11-13 |
JP4462643B2 true JP4462643B2 (ja) | 2010-05-12 |
Family
ID=14519044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10978097A Expired - Fee Related JP4462643B2 (ja) | 1997-04-25 | 1997-04-25 | 画像符号化方法及び画像符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4462643B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3209210B2 (ja) | 1999-02-10 | 2001-09-17 | 日本電気株式会社 | 動画像圧縮方法、動画像圧縮装置及び動画像圧縮プログラムを記憶した記憶媒体 |
JP4449915B2 (ja) * | 2006-02-08 | 2010-04-14 | ソニー株式会社 | 符号化装置、符号化方法およびプログラム、並びに、記録媒体 |
JP4786602B2 (ja) | 2007-06-26 | 2011-10-05 | 株式会社東芝 | 情報処理装置およびプログラム |
JP5057872B2 (ja) * | 2007-07-17 | 2012-10-24 | 株式会社東芝 | 情報処理装置およびプログラム |
CN102217309B (zh) * | 2008-11-13 | 2014-04-09 | 汤姆逊许可证公司 | 使用hrd信息共享和比特分配等待的多线程视频编码 |
-
1997
- 1997-04-25 JP JP10978097A patent/JP4462643B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10304375A (ja) | 1998-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008109637A (ja) | 動画像符号化装置及びその方法 | |
JP3529599B2 (ja) | 符号化装置における編集可能点挿入方法および符号化装置 | |
JP3740813B2 (ja) | 画像符号化方法および画像符号化装置 | |
JP3911768B2 (ja) | 画像符号化方法及び画像符号化装置 | |
JP3837889B2 (ja) | エンコード方法およびエンコード装置 | |
JP4650454B2 (ja) | 符号化装置及び符号化方法 | |
JP4462643B2 (ja) | 画像符号化方法及び画像符号化装置 | |
JP3951152B2 (ja) | 画像符号化装置および方法 | |
JPH10304372A (ja) | 画像符号化方法および装置、画像伝送方法 | |
JP4710108B2 (ja) | 画像信号符号化方法及び装置 | |
JP4288897B2 (ja) | 符号化装置及び方法、プログラム、記録媒体 | |
JP4257504B2 (ja) | 立体映像データ処理装置、立体映像データ伝送装置、立体映像データ記録装置 | |
JP3307367B2 (ja) | 可変転送レート符号化装置 | |
JP4161385B2 (ja) | 画像符号化方法及び装置並びに画像処理装置及び画像処理方法 | |
JP4759360B2 (ja) | 画像処理装置 | |
KR100681992B1 (ko) | 기록 장치 및 방법 | |
JP3558384B2 (ja) | 映像記録再生方法 | |
JP3660514B2 (ja) | 可変レート動画像符号化方法および動画像編集システム | |
JP3089990B2 (ja) | 高速サーチ画像再生装置及びその方法 | |
JPH10308942A (ja) | 画像符号化方法及び装置並びに記録媒体並びに画像伝送方法 | |
JP2004180345A (ja) | 撮影画像記録装置 | |
JP4867872B2 (ja) | 画像処理装置、この画像処理装置の制御方法、及び、プログラム | |
JPH10108200A (ja) | 画像符号化方法およびその装置 | |
US8149679B2 (en) | Recording/reproducing device and method, recording medium, and program | |
JPH10304376A (ja) | 画像符号化方法及び装置並びに記録媒体並びに画像伝送方法 |
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 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070604 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070627 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070817 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071207 |
|
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: 20100216 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |