[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4496499B2 - ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体 - Google Patents

ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体 Download PDF

Info

Publication number
JP4496499B2
JP4496499B2 JP2006336989A JP2006336989A JP4496499B2 JP 4496499 B2 JP4496499 B2 JP 4496499B2 JP 2006336989 A JP2006336989 A JP 2006336989A JP 2006336989 A JP2006336989 A JP 2006336989A JP 4496499 B2 JP4496499 B2 JP 4496499B2
Authority
JP
Japan
Prior art keywords
encoding
information
stream
picture
unit
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
JP2006336989A
Other languages
English (en)
Other versions
JP2007129746A (ja
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006336989A priority Critical patent/JP4496499B2/ja
Publication of JP2007129746A publication Critical patent/JP2007129746A/ja
Application granted granted Critical
Publication of JP4496499B2 publication Critical patent/JP4496499B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体に関し、特に、対応するデータに対して過去に施された符号化に関する情報を用いて再符号化することが可能なようになされている場合に用いて好適な、ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体に関する。
例えば、テレビ会議システム、テレビ電話システムなどのように、動画像信号を遠隔地に伝送するシステムにおいては、伝送路を効率良く利用するため、映像信号のライン相関やフレーム間相関が利用されて、画像信号が圧縮符号化される。
画像信号が圧縮符号化される場合、生成されるビットストリームが、所定のビットレートになるように符号化が行われる。しかしながら、実運用上において、伝送路の都合により、ビットストリームのビットレートを変換する必要が生じることがある。
また、例えば、伝送された画像信号が、放送局において編集される場合、編集はフレーム単位で行われるので、フレームの画像情報は、他のフレームの画像情報から独立しているほうがよい。そこで、低いビットレート(例えば、3乃至9Mbps)で転送しても画質が劣化しないように、情報が相関関係にあるフレームの集合であるGOP(Group of Picture)を構成するフレーム数が多いLong GOPと、高ビットレート(18乃至50Mbps)で転送される、GOPを構成するフレーム数が少ないShort GOPとを、相互に変換する必要があった。
例えば、伝送路を介して送受信されるLong GOPのストリームデータを、Short GOPであるAll Intraのストリームデータに符号化しなおして、フレーム編集することが可能なシステムについて、図1を用いて説明する。
符号化装置1は、圧縮されていない原画像の入力を受け、MPEGのLong GOPに符号化し、伝送路11を介して、トランスコーダ2に、ストリームデータを送信する。
伝送路11には、伝送に適したLong GOPのストリームデータが伝送される。
トランスコーダ2は、伝送路11を介して供給された、MPEGのLong GOPのストリームデータを、復号部21で一旦復号した後、符号化部22において、全てイントラフレーム(All Intra)となるように符号化し、符号化されたAll Intraのストリームデータ(SDTI CP(Serial Data Transport Interface-Contents Package)ストリーム)を、SDTI CPインタフェースのフレーム編集装置3に出力する。
フレーム編集装置3にてフレーム編集されたストリームデータは、トランスコーダ4に供給される。トランスコーダ4は、供給されたAll Intraのストリームデータを、復号部31で一旦復号した後、符号化部32において、MPEGのLong GOPとなるように符号化し、符号化されたMPEGのLong GOPのストリームデータを、伝送路11を介して、所定のデータ伝送先に出力する。
また、入力画像を高ビットレートでMPEGのLong GOPに符号化し、それを復号して低ビットレートのMPEGのLong GOPに再符号化することが可能なシステムについて、図2を用いて説明する。
符号化装置1は、供給された、圧縮されていない入力画像を、高ビットレートのMPEGのLong GOPとなるように符号化し、符号化されたMPEGのLong GOPのストリームデータを出力する。トランスコーダ51は、供給された高ビットレートのMPEGのLong GOPを、復号部71で一旦復号した後、符号化部72において、低ビットレートのMPEGのLong GOPとなるように符号化し、符号化された低ビットレートのMPEGのLong GOPのストリームデータを、伝送路11を介して、所定のデータ伝送先に出力する。
このように、画像情報に対する符号化および復号が繰り返された場合、符号化の度に使用される符号化パラメータが変化してしまうと、画像情報が劣化してしまう。この画像情報の劣化を防止するため、ビットストリームのピクチャ層のユーザデータエリアに挿入された符号化履歴情報を用いることにより、再符号化に伴う画像の劣化を抑制することができる技術がある(例えば、特許文献1参照)。
特開2000−059788号公報
例えば、MPEGのLong GOPを、フレーム編集を行うことが可能なShort GOPに変換することが可能なシステムにおいて、符号化履歴情報を利用する場合について、図3を用いて説明する。なお、図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
すなわち、トランスコーダ101は、伝送路11を介して、符号化装置1から送信されたMPEGのLong GOPの供給を受ける。
MPEGのLong GOPはそれぞれ符号化の素性の異なる3種類のピクチャタイプのピクチャ(Iピクチャ、Pピクチャ、および、Bピクチャ)により構成されるため、それを復号したビデオデータにも、フレームによってそれぞれIピクチャ、Pピクチャ、Bピクチャの素性を持ったものが存在する。したがってこのビデオデータをMPEGのLong GOPで再符号化する場合、Iピクチャ、Pピクチャ、または、Bピクチャの素性を持ったビデオデータに対して、それぞれ別のピクチャタイプで符号化してしまうと、画像劣化が発生する場合がある。例えば、復号前に、IピクチャおよびPピクチャより歪が多くなりやすいBピクチャであったビデオデータをIピクチャとして符号化してしまうと、その周辺のピクチャが、歪の多いIピクチャを参照画像として予測符号化されてしまうため、画質が劣化してしまう。
このような再符号化による画質劣化を引き起こさないため、トランスコーダ101は、例えば、伝送路11を介して、他のトランスコーダまたは符号化装置によって過去に符号化されたストリームデータの供給を受けた場合、供給されたMPEGのLong GOPのストリームデータを、復号部111で一旦復号した後、符号化部112において、全てイントラフレームとなるように符号化するとき、過去に実行された符号化、すなわち、復号部111に供給された符号化ストリームの符号化のピクチャタイプや量子化値などのパラメータを、All Intraの符号化ストリーム上に、SMPTE(Society of Motion Picture and Television Engineers)328Mのヒストリー情報(History data)として付加し、フレーム編集装置3に供給する。
フレーム編集装置3にてフレーム編集されたストリームデータは、再び、トランスコーダ102に供給される。トランスコーダ102は、供給された、ヒストリー情報つきのAll Intraのストリームデータを、復号部121で復号する。符号化部122は、復号されたヒストリー情報に含まれている、ピクチャタイプや量子化値等の必要なパラメータを使用して、Long GOPに再符号化して出力する。
また、図2を用いて説明したように、非圧縮のデータを高ビットレートでMPEGのLongGOPに符号化し、それを復号して低ビットレートのMPEGのLongGOPに再符号化することが可能なシステムにおいて、再符号のための画像劣化が発生しないようになされている場合について、図4を用いて説明する。なお、図2における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
すなわち、符号化装置1により符号化されたMPEGのLong GOPのストリームの供給を受けたトランスコーダ131は、高ビットレートのMPEGのLong GOPを、復号部141で復号するときに、必要な符号化パラメータを取得して、復号されたビデオデータと取得された符号化パラメータを、符号化部142に供給する。符号化部142は、供給された符号化パラメータを用いて、ビデオデータを、低ビットレートのMPEGのLong GOPとなるように符号化し、符号化された低ビットレートのMPEGのLong GOPのストリームデータを出力する。
再符号化による画質劣化を引き起こさないため、ヒストリー情報や復号時に取得される符号化パラメータを用いるようにした場合、例えば、フレーム編集装置3において編集が行われた符号化ストリームにおいては画像データの連続性が途切れてしまうため、GOP内のフレーム間の相関情報は意味のないものとなる。したがって、再符号化による画質劣化を引き起こさないため、ヒストリー情報や復号時に取得される符号化パラメータを用いるようにした場合、ストリームデータの編集点を検出し、編集点においては、以前の符号化に関するヒストリー情報やパラメータ情報を利用せずに符号化を行う必要がある。
GOP単位の符号列編集において、編集に用いられる入力符号列A、Bのヘッダから画像タイプ(I,P,B)を検出し、入力符号列A、Bの画像タイプと、外部から入力される編集情報とに基づいて、編集点を示す符号(フラグ)が挿入されるか、または、書き換えるようにすることにより、ストリームデータの編集点を示すことができるようにした技術がある(例えば、特許文献2)。
特開2003−143607
また、ストリームデータに、フレームまたはフィールドごとにカウントアップされるカウント数の情報を含ませるようにし、例えば、画像をつなぎ合わせたり、挿入したり、間引くことなどにより発生する画像の不連続点を、カウント数が連続しているか否かを基に、再符号化時に検出することができるようにした技術がある(例えば、特許文献3)。
特開2001−169278
上述したように、ヒストリー情報、または、符号化パラメータを用いて、過去の符号化の情報(過去に行われた符号化のピクチャタイプ、動きベクトル、量子化値等の、ピクチャ層、マクロブロック層のパラメータ)を再利用して符号化することにより、画質劣化を防ぐことが可能である。しかしながら、例えば、編集などによって、ビットレート、画像枠、クロマフォーマットなどが、前の符号化処理時とは異なるストリームが、置き換えられたり、挿入される場合がある。このような場合、以前の符号化のパラメータ情報を再利用して再符号化することはできない。
そして、編集点を検出するために、編集点を示す符号(フラグ)を挿入する技術を用いるようにした場合、符号化ストリームの授受が行われるシステム全体において、編集時には、編集点を示す所定の符号(フラグ)を挿入するようにし、符号化を行うときには、全ての符号化装置で所定の編集点を示す符号(フラグ)を検出することができなければならない。例えば、編集点を示す符号(フラグ)を挿入する機能を有さない編集装置が1台でもシステムに組み込まれてしまった場合、伝送される符号化ストリームに、符号化ストリームに編集点を示す所定の符号(フラグ)が挿入されていない編集点が存在してしまう可能性が発生してしまう。
一方、ストリームデータに、フレームまたはフィールドごとにカウントアップされるカウント数の情報を含ませるようにすれば、符号化ストリームが伝送される途中で、編集点を示す符号(フラグ)を挿入する機能を有さない編集装置がシステムに組み込まれていても、カウント数の連続性の有無を検出することにより、編集点であるか否かを判断することが可能となる。しかしながら、カウンタは、所定の有限の数までしかカウントすることができないため、編集点において、偶然にカウント数が連続してしまう可能性がある。また、複数のカメラを用いて同時に撮像が開始され、時間的に連続させて、撮像するカメラを切り替えて画像を編集するような場合、編集点であっても、カウント数が連続してしまう。具体的には、例えば、野球の中継を複数のカメラで行い、バックネット裏のカメラAと外野席のカメラBとが、同時に撮像をスタートさせた場合、カメラAで撮像されたピッチャーの映像と、カメラBで撮像された打者の映像とが時間的に連続して切替えら得たとき、その切替え点は編集点となるにもかかわらず、フレームまたはフィールドに含まれるカウント数の情報は連続する。
本発明はこのような状況に鑑みてなされたものであり、再符号化時に画像データの編集点を検出することができるようにするものである。
本発明の一側面のストリーム変換装置は、符号化ストリームを再符号化ストリームに変換処理するストリーム変換装置であって、画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報と前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータとを、前記符号化ストリームとともに取得する取得手段と、前記取得手段により取得された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出する編集点検出手段と、前記編集点検出手段により検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、前記取得手段により取得された前記過去の符号化パラメータを前記利用符号化パラメータとして選択する選択手段と、前記選択手段により選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理する変換手段とを備える。
前記編集点検出手段には、前記取得手段により取得された前記追加符号化情報内の前記区別情報が変更されたことを検出した場合に、前記編集点を検出させるようにすることができる。
前記符号化ストリームは、シーケンスレイヤ、GOPレイヤ、ピクチャレイヤ、スライスレイヤ、および、マクロブロックレイヤを有するMPEG方式で符号化処理されているものとすることができる。
前記符号化ストリームは、全てのピクチャがIピクチャとして符号化処理されるAll Intra方式、または、Iピクチャ・Pピクチャ・Bピクチャの3種類のピクチャタイプで符号化処理されるLong GOP方式であるものとすることができる。
前記変換手段には、シーケンスレイヤ、GOPレイヤ、ピクチャレイヤ、スライスレイヤ、および、マクロブロックレイヤを有するMPEG方式で変換処理を行わせるようにすることができる。
前記変換手段には、全てのピクチャをIピクチャとして符号化処理するAll Intra方式、または、Iピクチャ・Pピクチャ・Bピクチャの3種類のピクチャタイプで符号化処理するLong GOP方式で変換処理を行わせるようにすることができる。
本発明の一側面のストリーム変換方法は、符号化ストリームを再符号化ストリームに変換処理するストリーム変換装置のストリーム変換方法であって、画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報と前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータとを、前記符号化ストリームとともに取得し、取得された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出し、検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、取得された前記過去の符号化パラメータを前記利用符号化パラメータとして選択し、選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理するステップを含む。
本発明の一側面のプログラムは、符号化ストリームを再符号化ストリームに変換する処理をコンピュータに実行させるプログラムであって、画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報、および、前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータ、並びに、前記符号化ストリームの取得を制御し、取得が制御された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出し、検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、取得が制御された前記過去の符号化パラメータを前記利用符号化パラメータとして選択し、選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理するステップを含む処理をコンピュータに実行させる。
本発明の一側面の記録媒体に記録されているプログラムは、符号化ストリームを再符号化ストリームに変換する処理をコンピュータに実行させるプログラムであって、画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報、および、前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータ、並びに、前記符号化ストリームの取得を制御し、取得が制御された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出し、検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、取得が制御された前記過去の符号化パラメータを前記利用符号化パラメータとして選択し、選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理するステップを含む処理をコンピュータに実行させる。
本発明の一側面においては、画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報と、符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータとが、符号化ストリームとともに取得され、取得が制御された追加符号化情報内の区別情報が、フレーム毎に比較されることにより、符号化ストリームの編集点が検出され、検出された編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータが利用符号化パラメータとして選択され、編集点を含む所定区間以外の区間では、取得が制御された過去の符号化パラメータが利用符号化パラメータとして選択され、選択された利用符号化パラメータが利用されて、符号化ストリームが再符号化ストリームに変換処理される。
本発明の一側面によれば、編集点を検出することができ、特に、符号化装置を固有に区別可能な情報を含む情報を基に、編集点を検出することができるので、検出結果に基づいて、利用符号化パラメータを選択することができる。
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
本発明の一側面のストリーム変換装置(例えば、図5のトランスコーダ152、図16のトランスコーダ231)は、符号化ストリームを再符号化ストリームに変換処理するストリーム変換装置であって、画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報と前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータとを、前記符号化ストリームとともに取得する取得手段と、前記取得手段により取得された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出する編集点検出手段(例えば、図12または図17の編集点検出部217)と、前記編集点検出手段により検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、前記取得手段により取得された前記過去の符号化パラメータを前記利用符号化パラメータとして選択する選択手段(例えば、図12または図17の量子化値決定部208)と、前記選択手段により選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理する変換手段(例えば、図5の復号部121または図16の復号部141、および、図12または図17のDCT部206、量子化部207、VLC部209、動き補償部213など)とを備える。
前記編集点検出手段は、前記取得手段により取得された前記追加符号化情報内の前記区別情報(例えば、Encoder_ID)変更されたことを検出した場合に、前記編集点を検出することができる。
本発明の一側面のストリーム変換方法は、符号化ストリームを再符号化ストリームに変換処理するストリーム変換装置のストリーム変換方法であって、画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報と前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータとを、前記符号化ストリームとともに取得し(例えば、図18のステップS61乃至ステップS63、図19のステップS81乃至ステップS83、図20のステップS101乃至ステップS103の処理)、取得された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出し(例えば、図18のステップS66乃至ステップS68、図19のステップS86乃至ステップS88、図20のステップS106乃至ステップS108の処理)、検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、取得された前記過去の符号化パラメータを前記利用符号化パラメータとして選択し、選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理する(例えば、図21のステップS134乃至ステップS145の処理、または、図29のステップS244乃至ステップS259の処理)ステップを含む。
また、本発明の一側面のプログラム、または、記録媒体に記録されたプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、本発明の一側面の情報処理方法と同様である。
以下、図を参照して、本発明の実施の形態について説明する。
本発明を適用した、MPEGのLong GOPを、フレーム編集を行うことが可能なShort GOPに変換することが可能なシステムにおいて、符号化履歴情報を利用する場合について、図5を用いて説明する。
なお、図3を用いて説明した従来の場合と対応する部分には同一の符号を付してある。すなわち、符号化装置1に変わって、符号化装置151を設け、トランスコーダ102に代わって、トランスコーダ152が設けられているほかは、図3を用いて説明した従来の場合と基本的に同様に構成されており、トランスコーダ152は、符号化部122に代わって、供給されるストリームの条件に対応して、再利用可能な履歴情報(ヒストリー情報)を選択することが可能な符号化部161が設けられ、符号化部161には、復号部121から出力される復号された信号のほかに、復号部121に入力されているストリームデータも入力されているほかは、トランスコーダ102と基本的に同様に構成されている。
符号化装置151は、圧縮されていない原画像の入力を受け、符号化処理を実行する。符号化装置151は、この符号化ストリームが、例えば、フレーム編集装置3において編集された後、トランスコーダ152の符号化部161が編集点を検出することができるように、追加符号化情報を生成して、符号化ストリームに付加する。
図6は、符号化装置151の構成を示すブロック図である。
フレームカウンタ181は、原画像の入力時にフレームシンクを検出して、1フレームごとに、カウント数をアップさせて、追加符号化情報生成部182に供給する。フレームカウンタ181は、カウント数に、例えば、65535など、所定の上限値を有しているので、カウント数が上限値に達した場合は、また、0から、新たにカウントを開始する。すなわち、後述する処理において、再符号化処理が実行される場合、カウントの上限値と0とは、連続したフレームであると認識される。
なお、カウントは1つずつカウントアップ、またはカウントダウンされる以外にも、例えば、2、または、それ以上の数を用いて、1フレームごとに所定数だけカウントアップまたはカウントダウンするようにし、計数されたカウント値を追加符号化情報生成部182に出力するようにしてもよい。
メモリ184には、この符号化装置151の機種を示す情報であるEncoder_ID、および、このエンコーダのシリアルナンバであるEncoder_Serial_Numberが予め記憶されている。換言すれば、Encoder_ID、および、Encoder_Serial_Numberは、エンコーダを固有に区別するために用いることができる区別情報である。
追加符号化情報生成部182は、フレームカウンタ181から供給されるカウント値を、Continuity_Counterとし、メモリ184から、Encoder_ID、および、Encoder_Serial_Number、を読み出して、Continuity_Counterとともに、1フレームごとに、符号化部185に供給する。
符号化部185は、例えば、SDI(Serial Digital Interface)フォーマットなどの原画像を、従来と同様の符号化方法にてMPEGのLONG GOPに符号化するとともに、追加符号化情報生成部182から供給された、Continuity_Counter、Encoder_ID、および、Encoder_Serial_Numberの情報を、追加符号化情報として、1フレームごとに付加して出力する。
すなわち、符号化部185により符号化された符号化ストリームに付加される追加符号化情報が、Continuity_Counter、Encoder_ID、および、Encoder_Serial_Numberであることにより、例えば、編集点において、偶然にカウント数が連続してしまったり、連続したフレームであることを示してしまうカウント値が得られるようなことがあっても、後述する再符号化処理時に、Encoder_ID、または、Encoder_Serial_Numberを基に、符号化を行ったのが異なる符号化装置であることが検出されれば、編集点であることを検出することが可能となる。
ここでは、符号化装置151を特定するために、機種を示す情報であるEncoder_ID、および、シリアルナンバであるEncoder_Serial_Numberが用いられている。シリアルナンバは、一般的には、何桁かの数字と、必要に応じて、機種を示す何文字かのアルファベットで表されているが、もし、シリアルナンバに機種を示すアルファベットが付加されていない場合、他機種で同じシリアルナンバの符号化装置が存在することになってしまう。他機種で同じシリアルナンバの符号化装置を同一の符号化装置と認識してしまうことを避けるためには、符号化装置151を特定するために、機種を示す情報であるEncoder_ID、および、シリアルナンバであるEncoder_Serial_Numberを用いると好適である。しかしながら、例えば、シリアルナンバに機種を示す何文字かのアルファベットが付加されており、他の機種を含めても、同一のシリアルナンバの符号化装置が他に存在しない(シリアルナンバのみで符号化装置が特定可能である)ようになされているのであれば、シリアルナンバに対応する情報であるEncoder_Serial_Numberのみを、符号化装置151を特定する情報として、メモリ184に記憶して、符号化部185により符号化された符号化ストリームに追加符号化情報として付加するようにしても良い。
なお、追加符号化情報に、Continuity_Counterが含まれておらず、少なくとも、Encoder_ID、および、Encoder_Serial_Numberなどの、符号化装置151を特定することができる情報のみが付加されている場合も、符号化を行った機器が異なることが検出されることによって、編集点を検出することができる。
また、追加符号化情報には、符号化装置151を特定するための情報に代わって、符号化装置151において符号化が開始された時点を示す情報を用いるようにしても良い。
追加符号化情報生成部182は、フレームカウンタ181から供給されたフレームのカウント値の入力を受けると、1フレーム目の符号化の開始と同時となる時間情報として、タイマ183から現在の時刻、または、日時の情報を取得して、メモリ184に供給する。また、メモリ184は、追加符号化情報生成部182から供給された符号化の開始時刻または開始日時を示す情報の供給を受けて、Encoding_Start_Time_Codeとして記憶する。
Encoding_Start_Time_Codeには、符号化が開始された時点を示す情報として、開始時刻または開始日時を示す情報が記載されるが、この情報は、例えば、年、月、日、時、分、秒で構成される情報であっても、月、日、時、分、秒で構成される情報であっても、日、時、分、秒で構成される情報であっても、時、分、秒で構成される情報であっても、または、時、分で構成される情報であってもかまわないし、年、月、日、時、分、秒のうちのいずれか1つの情報であってもよい。すなわち、Encoding_Start_Time_Codeが異なるデータストリームが、同一時点で符号化が開始された一続きの符号化ストリームではないことを検出することができればよい。
追加符号化情報生成部182は、フレームカウンタ181から供給されるカウント値を、Continuity_Counterとし、メモリ184から、Encoding_Start_Time_Codeを読み出して、Continuity_Counterとともに、1フレームごとに、符号化部185に供給する。
符号化部185は、例えば、SDIフォーマットなどの原画像を、従来と同様の符号化方法にてMPEGのLONG GOPに符号化するとともに、追加符号化情報生成部182から供給された、Continuity_Counter、および、Encoding_Start_Time_Codeの情報を、追加符号化情報として、1フレームごとに付加して出力する。
これにより、例えば、編集点において、偶然にカウント値が連続してしまうようなことがあっても、後述する再符号化処理時に、Encoding_Start_Time_Codeを参照することにより、符号化が開始された日時が異なることが検出されれば、編集点であることが検出されるので、編集点において、偶然にカウント値が連続してしまうことにより、編集点を見逃してしまうことを防止することが可能となる。
なお、追加符号化情報に、Continuity_Counterが含まれておらず、少なくとも、符号化の開始時刻または開始日時を示す情報であるEncoding_Start_Time_Codeのみが付加されている場合も、符号化の開示時刻または開始日時が異なることが検出されることによって、編集点を検出することができる。
また、符号化装置151においては、符号化ストリームに付加される追加符号化情報を、Continuity_Counter、Encoding_Start_Time_Code、Encoder_ID、および、Encoder_Serial_Numberとしてもよい。
すなわち、追加符号化情報生成部182は、フレームカウンタ181から供給されたフレームのカウント値の入力を受けると、1フレーム目の符号化の開始と同時となる時間情報として、タイマ183から現在の日時の情報を取得して、メモリ184に供給する。また、メモリ184は、追加符号化情報生成部182から供給された符号化の開始時刻を示す情報の供給を受けて、Encoding_Start_Time_Codeとして記憶する。
更に、メモリ184には、この符号化装置151の機種を示す情報であるEncoder_ID、および、このエンコーダのシリアルナンバであるEncoder_Serial_Numberが予め記憶されているようにし、追加符号化情報生成部182は、フレームカウンタ181から供給されるカウント値を、Continuity_Counterとし、メモリ184から、Encoding_Start_Time_Code、Encoder_ID、および、Encoder_Serial_Numberを読み出して、Continuity_Counterとともに、1フレームごとに、符号化部185に供給する。
符号化部185は、例えば、SDIフォーマットなどの原画像を、従来と同様の符号化方法にてMPEGのLONG GOPに符号化するとともに、追加符号化情報生成部182から供給された追加符号化情報である、Continuity_Counter、Encoding_Start_Time_Code、Encoder_ID、および、Encoder_Serial_Numberの情報を、1フレームごとに付加して出力する。
なお、図6の符号化装置151においては、追加符号化情報生成部182により生成された追加符号化情報を、符号化ストリームの各フレームに付加して出力するものとして説明したが、符号化ストリームの各フレームに、追加符号化情報が正しくリンクされていれば、符号化ストリームと追加符号化情報とは、個別に出力されてもよい。また、符号化ストリームと追加符号化情報とは、伝送路11を介してトランスコーダ101に送信されるのみならず、記録媒体に記録されて、トランスコーダ101に供給されるようにしてもよい。符号化ストリームと追加符号化情報とが、記録媒体に記録されてトランスコーダ101に供給されるようになされている場合、符号化ストリームの各フレームに、追加符号化情報が正しくリンクされていれば、符号化ストリームと追加符号化情報とは、異なる記録媒体に記録されて供給されるようにしてもよいことは言うまでもない。
次に、図7のフローチャートを参照して、符号化情報を含む符号化データ作成処理1について説明する。この処理においては、メモリ184に、予め符号化装置151を特定するための情報が記憶されている場合について説明する。
ステップS1において、符号化装置151は、非圧縮画像データの供給を受ける。供給された被圧縮の画像データは、符号化部185に供給される。
ステップS2において、フレームカウンタ181は、符号化部185に供給される非圧縮画像データのフレームシンクを検出し、フレーム数をカウントする。
ステップS3において、符号化部185は、供給された非圧縮画像データに対して、符号化処理を実行する。
ステップS4において、追加符号化情報生成部182は、メモリ184に記憶された符号化装置を特定する情報(すなわち、Encoder_ID、および、Encoder_Serial_Number)と、フレームカウンタ181によりカウントされたフレームのカウント値(Continuity_Counter)を取得する。なお、Encoder_Serial_Numberのみで符号化装置151の特定が可能であれば、メモリ184に記憶され、追加符号化情報生成部182に取得される情報は、Encoder_Serial_Numberのみであってもかまわない。
ステップS5において、追加符号化情報生成部182は、取得した符号化装置を特定する情報(Encoder_ID、および、Encoder_Serial_Number)およびフレームのカウント値(Continuity_Counter)を基に、追加符号化情報を生成して、符号化部185に供給する。
ステップS6において、符号化部185は、符号化データに供給された追加符号化情報を合成して出力する。
ステップS7において、符号化部185は、非圧縮画像データの供給が終了したか否かを判断する。ステップS7において、非圧縮画像データの供給が終了していないと判断された場合、処理は、ステップS2に戻り、それ以降の処理が繰り返される。ステップS7において、非圧縮画像データの供給が終了したと判断された場合、処理は終了される。
このような処理により、符号化データに、追加符号化情報として、符号化装置を特定する情報(すなわち、Encoder_ID、および、Encoder_Serial_Number)およびフレームのカウント値(Continuity_Counter)が付加されて出力されるので、この符号化データを再符号化する場合において、編集点を検出することが可能となる。
次に、図8のフローチャートを参照して、符号化情報を含む符号化データ作成処理2について説明する。なお、この処理においては、メモリ184に、予め符号化装置151を特定するための情報が記憶されている必要はない。
ステップS21において、符号化装置151は、非圧縮画像データの供給を受ける。供給された被圧縮の画像データは、符号化部185に供給される。
ステップS22において、追加符号化情報生成部182は、タイマ183を参照して、年、月、日、時間、分、秒など、現在の時刻を示すための情報で構成される現在時刻情報を取得し、符号化開始時刻(Encoding_Start_Time_Code)として、メモリ184に記憶させる。
ステップS23およびステップS24において、図7のステップS2およびステップS3と同様の処理が実行される。すなわち、供給された非圧縮画像データのフレーム数がカウントされて、符号化処理が実行される。
ステップS25において、追加符号化情報生成部182は、メモリ184に記憶された符号化開始時刻(Encoding_Start_Time_Code)と、フレームカウンタ181によりカウントされたフレームのカウント値(Continuity_Counter)を取得する。
ステップS26において、追加符号化情報生成部182は、取得した符号化開始時刻(Encoding_Start_Time_Code)およびフレームのカウント値(Continuity_Counter)を基に、追加符号化情報を生成して、符号化部185に供給する。
ステップS27およびステップS28において、図7のステップS6およびステップS7と同様の処理が実行される。すなわち、符号化データに供給された追加符号化情報が合成されて出力され、非圧縮画像データの供給が終了したか否かが判断されて、終了していないと判断された場合、処理は、ステップS23に戻り、それ以降の処理が繰り返される。ステップS28において、非圧縮画像データの供給が終了したと判断された場合、処理は終了される。
このような処理により、符号化データに、追加符号化情報として、符号化開始時刻(Encoding_Start_Time_Code)およびフレームのカウント値(Continuity_Counter)が付加されて出力されるので、後述する再符号化処理において、編集点を検出することが可能となる。
次に、図9のフローチャートを参照して、符号化情報を含む符号化データ作成処理3について説明する。この処理においては、メモリ184に、予め符号化装置151を特定するための情報が記憶されている場合について説明する。
ステップS41において、符号化装置151は、非圧縮画像データの供給を受ける。供給された被圧縮の画像データは、符号化部185に供給される。
ステップS42において、追加符号化情報生成部182は、タイマ183を参照して、現在時刻情報を取得し、符号化開始時刻(Encoding_Start_Time_Code)として、メモリ184に記憶させる。
ステップS43およびステップS44において、図7のステップS2およびステップS3と同様の処理が実行される。すなわち、供給された非圧縮画像データのフレーム数がカウントされて、符号化処理が実行される。
ステップS45において、追加符号化情報生成部182は、メモリ184に記憶された符号化装置を特定する情報(すなわち、Encoder_ID、および、Encoder_Serial_Number)、符号化開始時刻(Encoding_Start_Time_Code)、並びに、フレームカウンタ181によりカウントされたフレームのカウント値(Continuity_Counter)を取得する。なお、Encoder_Serial_Numberのみで符号化装置151の特定が可能であれば、メモリ184に記憶され、追加符号化情報生成部182に取得される情報は、Encoder_Serial_Numberのみであってもかまわない。
ステップS46において、追加符号化情報生成部182は、取得した符号化装置を特定する情報(すなわち、Encoder_ID、および、Encoder_Serial_Number)、符号化開始時刻(Encoding_Start_Time_Code)並びにフレームのカウント値(Continuity_Counter)を基に、追加符号化情報を生成して、符号化部185に供給する。
ステップS47およびステップS48において、図7のステップS6およびステップS7と同様の処理が実行される。すなわち、符号化データに供給された追加符号化情報が合成されて出力され、非圧縮画像データの供給が終了したか否かが判断されて、終了していないと判断された場合、処理は、ステップS43に戻り、それ以降の処理が繰り返される。ステップS48において、非圧縮画像データの供給が終了したと判断された場合、処理は終了される。
このような処理により、符号化データに、追加符号化情報として、符号化装置を特定する情報(すなわち、Encoder_ID、および、Encoder_Serial_Number)、符号化開始時刻(Encoding_Start_Time_Code)、並びに、フレームのカウント値(Continuity_Counter)が付加されて出力されるので、後述する再符号化処理において、図7または図8を用いて説明した処理よりも、高い精度で、編集点を検出することが可能となる。
また、図7乃至図9を用いて説明した処理により生成された追加符号化情報は、ストリームデータのデータベースを作成したり、ストリームデータをライブラリ化する場合のIDやキーナンバーとして用いるようにしても良い。更に、追加符号化情報は、再符号化時にヒストリーデータや符号化パラメータの再利用不可期間を決定するために用いられるのみならず、再生時の頭だしのポイント(例えば、DVDなどにおけるチャプターの開始点および終了点や、繰り返し再生用のスタートポイントおよびエンドポイントなどを含む)などを検出するために用いられたり、シーンチェンジを検出するために用いられる。シーンチェンジを検出することによって、例えば、符号化における量子化値の制御が最適化されたり、テレビジョン放送などの番組ストリームの中にコマーシャルに対応するストリームデータが挿入されている場合に、コマーシャルの挿入個所を検出するために利用したり、ストリームデータを用いて、自動的にサムネイル画像を生成してユーザに提示する場合のストリームデータの区切り位置を決定するために利用することが可能である。
再び、図5の説明に戻る。
トランスコーダ101は、伝送路11から、追加符号化情報が付加されたMPEGのLong GOPの供給を受ける。
MPEGのLongGOPは、3種類のピクチャタイプのピクチャ(Iピクチャ、Pピクチャ、および、Bピクチャ)により構成される。トランスコーダ101は、供給されたMPEGのLong GOPのストリームデータを、復号部111で一旦復号した後、符号化部112において、全てイントラフレームとなるように符号化する場合、その後の処理において、これらのストリームデータがLongGOPで再符号化されるにあたって、Iピクチャ、Pピクチャ、または、Bピクチャの素性を持ったビデオデータに対して、別のピクチャタイプで符号化されてしまうことを防ぐため、過去に実行された符号化、すなわち、伝送路11を介して、トランスコーダ101に、MPEGのLong GOPストリームを送信した装置による符号化のパラメータ(過去に行われた符号化のピクチャタイプ、動きベクトル、量子化値等の、ピクチャ層およびマクロブロック層のパラメータ)を、All Intraのストリーム(SDTI CP(Serial Data Transport Interface-Contents Package)ストリーム)上に、SMPTEに規定されている(SMPTE328M、SMPTE329M)ヒストリー情報(History data)として付加し、SDTI CPインタフェースのフレーム編集装置3に供給する。
図10を用いて、compressed_stream_format_of_MPEG_2_recoding_set()のシンタックス(SMPTE 329M)について説明する。
SMPTE 329Mのcompressed_stream_format_of_MPEG_2_recoding_set()は、next_start_code()関数、sequence_header()関数、sequence_extension()関数、extension_and_user_data(0)関数、group_of_picture_header()関数、extension_and_user_data(1)関数、picture_header()関数、picture_coding_extension()関数、re_coding_stream_info()関数、extension_and_user_data(2)関数、およびpicture_data()関数によって定義されたデータエレメントによって構成される。
next_start_code()関数は、ビットストリーム中に存在するスタートコードを探すための関数である。sequence_header()関数によって定義されるデータエレメントには、例えば、画像の水平方向の画素数の下位12ビットから成るデータであるhorizontal_size_value、画像の縦のライン数の下位12ビットからなるデータであるvertical_size_value、発生符号量制御用の仮想バッファ(VBV;ビデオバッファベリファイヤ)の大きさを決める値の下位10ビットデータであるVBV_buffer_size_valueなどがある。sequence_extension()関数によって定義されるデータエレメントには、例えば、ビデオデータが順次走査であることを示すデータであるprogressive_sequence、ビデオデータの色差フォーマットを指定するためのデータであるchroma_format、Bピクチャを含まないことを示すデータであるlow_delayなどがある。
extension_and_user_data(i)関数は、「i」が2以外のときは、extension_data()関数によって定義されるデータエレメントは記述されずに、user_data()関数によって定義されるデータエレメントのみが履歴ストリームとして記述される。よって、 extension_and_user_data(0)関数は、 user_data()関数によって定義されるデータエレメントのみが履歴ストリームとして記述される。そして、履歴ストリーム中に、GOP層のスタートコードを示すgroup_start_codeが記述されている場合にのみ、 group_of_picture_header()関数によって定義されたデータエレメント、およびextension_and_user_data(1)関数によって定義されるデータエレメントが記述されている。
picture_headr()関数によって定義されるデータエレメントには、例えば、ピクチャ層の開始同期コードを表すデータであるpicture_start_code、ピクチャの表示順を示す番号で、GOPの先頭でリセットされるデータであるtemporal_referenceなどがある。picture_coding_extension()関数によって定義されるデータエレメントには、例えば、フレームストラクチャかフィールドストラクチャかを示すデータであり、フィールドストラクチャの場合は上位フィールドか下位フィールドかもあわせて示すデータであるpicture_structure、フレームストラクチャの場合、最初のフィールドが上位か下位かを示すデータであるtop_field_first、線形量子化スケールを利用するか、非線形量子化スケールを利用するかを示すデータであるq_scale_type、2:3プルダウンの際に使われるデータであるrepeat_firt_fieldなどがある。
re_coding_stream_info()関数によって定義されるデータエレメントは、SMPTE327Mにおいて定義されている。extensions_and_user_data(2)については、図11を用いて後述する。picture_data()関数によって定義されるデータエレメントは、slice()関数によって定義されるデータエレメントである。slice()関数によって、macroblock()が定義され、macroblock()には、motion_vectors情報などが記載されている。
図10で説明した、compressed_stream_format_of_MPEG_2_recoding_set()のextension_and_user_data(2)内のuser_data(2)に記載される情報について、図11を用いて説明する。
Stream_Information_Headerは、32bitのデータであり、picture_layerのuser_dataでの識別用のHeader番号が記載されており、user_dataとしてこの情報を識別できる値が記載されている16bitのStream_Information_Header、Strema_Information()のbyte長を示す、8bitのLength、および、marker_bitsで構成されている。
Encoder_Serial_Numberは、エンコーダ(符号化部または符号化装置)に固有につけられる番号(シリアルナンバ)であり、16bitの情報である。Encoder_IDは、エンコーダの機種を示すIDであり、15bitの情報である。
続くEncoding_Start_Time_Codeは、このストリームの生成が開始された時刻を示す情報であり、各byteデータのmsbを、marker_bit=1とする、8byteの情報である。ここでは、8byte中の6byteが用いられて、ストリームの生成が開始された年(Time_Year)、月(Time_Month)、日(Time_Day)、時(Time_Hour)、分(Time_Minute)、および、秒(Time_Second)が記載されている。これらの値は、1ストリーム中で一定値となる。
Encoder_Serial_Number、Encoder_ID、または、Encoding_Start_Time_Codeは、ストリームデータのデータベースを作成したり、ストリームデータをライブラリ化する場合のIDやキーナンバーとしても用いられる。
Generation_Counter (GenC)は、符号化の世代数を示すカウント数であり、4 bitの情報である。符号化の世代数は、SDI(Serial Digital Interface)データからASI(Asynchronous Serial Interface)データにエンコードするときにカウントが開始され(第1世代とされ)、ASIデータからASIデータへの再エンコード時、またはSDTI CP(Serial Data Transport Interface-Contents Package)データからASIデータの再エンコード時に、カウント数がインクリメントされる。
SDTI CPとは、Pro-MPEGフォーラムの推進でSMPTE326Mとして標準化された、MPEGデータをリアルタイムに伝送(同期転送)する世界標準規格であり、全てイントラフレーム(All Intra)である場合の伝送方式である。SDIとは、Point to Pointの伝送を基本に考えた、非圧縮のデジタルビデオ・オーディオの伝送方式であり、ANSI/SMPTE259Mに規定されている。ASIとは、符号化されたMPEGのLong GOPのストリームデータの伝送方式である。
Continuity_Counterとは、フレームごとにインクリメントされるカウンタであり、最大値をすぎたら、再度、0からカウントが開始される。また、必要に応じて、フレーム数ではなく、フィールド数やピクチャ数をカウントするようにしても良い。
Continuity_Counterは、ストリームデータのデータベースを作成したり、ストリームデータをライブラリ化する場合のIDやキーナンバーとしても用いられる。
そして、これ以下に説明する情報は、デコーダ(復号部または復号装置)にて復号されたときに生成されるパラメータから抽出されて挿入される情報であるので、挿入前の状態においては、領域が確保されているだけである。
picture_coding_typeは、MPEG2規格に準拠した、ピクチャのコーディングタイプを示す3 bitの情報で、例えば、このピクチャは、Iピクチャであるか、Bピクチャであるか、Pピクチャであるかなどが示される。temporal_referenceは、MPEG2規格に準拠した、GOPの中の画像順を表す(ピクチャごとにカウントアップされる)10bitの情報である。
reuse_levelとは、パラメータの再利用を規定するための7bitの情報である。error_flagは、各種エラーを通知するためのフラグである。
header_present_flag(A)は、sequence header present flagと、GOP header present flagとの2bitのフラグ情報である。
extension_start_code_flagsは、SMPTE327Mに規定されている情報であり、各種の拡張IDが含まれているか否かを示す16bitのフラグ情報であり、0は拡張IDが含まれていないことを、1は拡張IDが含まれていることを示す。拡張IDには、例えば、sequence extension ID、 sequence display extension ID、quant matrix extension ID、copyright extension ID、sequence scalable extension ID、picture display extension ID、picture coding extension ID、picture spatial scalable extension ID、picture temporal scalable extension IDなどがある。
other_start_codes(図中other)は、ユーザデータのスタートコードがどのレイヤに含まれているか、または、シーケンスエラーコードおよびシーケンスエンドコードが含まれているか否かを示す5bitのフラグ情報である。
図中、Bと記載されているのは、reduced_bandwidth_flag(B)の1bitの情報であり、Cと記載されているのは、reduced_bandwidth_indicator(C)の2bitの情報である。num_of_picture_bytesは、ピクチャの発生量を示す22bitの情報であり、レートコントロールなどに用いられる。
bit_rate_extensionは、12bitの、ビットレートに関する拡張情報領域であり、bit_rate_valueは、18bitの情報である。SMPTEに規定されているフォーマットにおいて、ビットレートの情報は、統計多重されることにより、しばしば、特定の値(例えば、“ff“)で記載されているため、この情報を、再符号化に用いることはできない。これに対して、bit_rate_extensionは、再符号化に用いるために、前の符号化における実際のビットレートの値が記載される領域である。
図5のトランスコーダ101の符号化部112において、図10および図11を用いて説明したようなヒストリーデータが付加されたAll Intraの符号化ストリームは、フレーム編集装置3にてフレーム編集される。そして、ヒストリー情報付のAll Intraのストリームデータは、トランスコーダ152に供給される。トランスコーダ152は、供給された、ヒストリー情報付のAll Intraのストリームデータを、復号部121で復号する。符号化部161は、復号されたヒストリー情報に含まれている、過去に行われた符号化のピクチャタイプ、動きベクトル、量子化値等の、ピクチャ層およびマクロブロック層のパラメータを、必要に応じて使用して、復号部121で復号された情報を、LongGOPに再符号化して出力する。
図12は、符号化部161の構成を示すブロック図である。
ヒストリー抽出部201は、復号部121により復号された、ヒストリー情報付のAll Intraストリームから、ヒストリー情報を抽出して、制御部216に供給するとともに、映像ストリームをバッファ202に供給する。ヒストリー抽出部201により抽出されるヒストリー情報は、図10および図11を用いて説明したように、SMPTE 329Mにおいて規定されている、compressed_stream_format_of_MPEG_2_recoding_set()の形式で記載されており、例えば、ピクチャタイプ、量子化値、動きベクトル、または、量子化マトリクスなど、過去に実行された符号化に関する情報が含まれている。バッファ202は、供給されたストリームデータを所定期間(少なくとも、Pピクチャ間隔よりも長い期間)バッファリングした後、映像ストリームを画像並べ替え部203に供給する。
編集点検出部217は、符号化部161に供給されたストリームデータ、または、ヒストリー抽出部201により抽出されたヒストリー情報に基づいて、編集点を検出する。すなわち、編集点検出部217は、内部に有するメモリに、1フレーム前の追加符号化情報(例えば、Encoding_Start_Time_Code、Encoder_Serial_Number、Encoder_ID、および、Continuity_Counterを、それぞれ、Prev_Encoding_Start_Time_Code、Prev_Encoder_Serial_Number、Prev_Encoder_ID、および、Prev_Continuity_Counterとして)を保存し、図13に示されるように、その次のフレームの追加符号化情報と比較して、連続性を示さない情報があるか否かを基に、編集点を検出する。なお、編集点検出部217は、追加符号化情報以外にも、例えば、ストリームデータに付加されている編集点を示すフラグ情報を検出することにより、編集点を検出するようにしても良い。
制御部216は、編集点検出部217から編集点を検出したことを示す信号の入力を受け、図14に示されるように、編集点前のPピクチャから、編集点後の所定のピクチャまでの期間だけ、パラメータ再利用不可期間を設定し、その期間は、ヒストリー抽出部201により抽出された、ヒストリー情報に含まれている過去の符号化のパラメータを用いずに符号化が実行されるように、画像並べ替え部203、動きベクトル検出部205、または、量子化値決定部208を制御する。パラメータ再利用不可期間の詳細については後述する。また、制御部216は、図14を用いて説明したパラメータ再利用不可期間以外の期間においては、ヒストリー抽出部201により抽出された、ヒストリー情報に含まれている過去の符号化のパラメータを基に、画像並べ替え部203、動きベクトル検出部205、または、量子化値決定部208を、必要に応じて制御する。
更に、制御部216は、パラメータ再利用不可期間を設定した場合、その設定情報をヒストリー情報生成部218に供給する。ヒストリー情報生成部218は、制御部216から供給された、パラメータ再利用不可期間の設定情報を含むヒストリー情報を生成し、VLC部209において符号化されるストリームデータに付加させる。
また、制御部216は、パラメータ再利用不可期間中に、編集点検出部217から編集点を検出したことを示す信号の入力を受けた場合、図15に示されるように、後から検出された編集点の位置を基に、パラメータ再利用不可期間の終了点を設定することができるように、その内部のレジスタに、編集点検出フラグおよび再利用停止フラグを設け、編集点を検出したとき、編集点検出フラグをオンにし、その後、編集点の直前の再利用不可区間の始まりであるPピクチャを検出して、再利用停止フラグをオンとして、再利用不可区間の設定のためのピクチャ数、または、Pピクチャの数のカウントを開始するとともに、編集点検出フラグをオフにする。そして、再利用停止フラグがオンの状態において、再度、編集点を検出したとき、編集点検出フラグをオンにし、再利用停止フラグをオンとした状態のまま、再利用不可区間の設定のためのピクチャ数、または、Pピクチャの数のカウントを一旦リセットした後、再開するようになされている。
制御部216は、ヒストリー抽出部201から、図10および図11を用いて説明したヒストリー情報の供給を受け、パラメータ再利用不可期間以外の期間において、ヒストリー情報に記載されている内容が、所定の条件に合致しているか否かを基に、画像並べ替え部203、動きベクトル検出部205、量子化値決定部208、ストリームスイッチ219の一部、もしくは全ての処理を制御する。
具体的には、制御部216は、パラメータ再利用不可期間以外の期間において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化と一致しているか否かを判断し、一致していないと判断された場合、パラメータの再利用を行わず、後述する通常の符号化を実行すると判断する。ディレイモードは、SMPTE 329Mのsequence_extension()関数のlow_delayに記載されている情報であり、ピクチャ構成およびプルダウンモードは、SMPTE 329Mのpicture_coding_extension()関数のpicture_structure、top_field_firstおよび、repeat_firt_fieldに、それぞれ記載されている情報である。
以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化と一致していると判断された場合、制御部216は、次に符号化する画像枠は、ヒストリー情報に示されている符号化処理を行った画像枠と一致しているか否かを判断し、画像枠が一致していないと判断された場合、ピクチャタイプ(図11を用いて説明した、extension_and_user_data(2)内のuser_data(2)に記載されているpicture_coding_type)の情報のみを再利用する。画像枠が一致しているか否かは、SMPTE 329Mのsequence_header()関数に記載されているhorizontal_size_valueおよびvertical_size_value、並びに、SMPTE 329Mのv_phaseおよびh_phaseを比較することにより判断される。
画像並べ替え部203は、前の符号化のピクチャタイプが再利用されると判断された場合、制御部216から供給された制御信号を基に、ヒストリー情報に含まれているピクチャタイプを基に、画像の並び替えを実行する。
画像枠が一致していると判断された場合、制御部216は、以前の符号化におけるビットレートが、今回の符号化のビットレートよりも小さく、かつ、以前の符号化におけるクロマフォーマットが、今回のクロマフォーマットと比較して、等しい、または、大きいか否かを判断し、いずれかの条件が満たされていなかったと判断された場合、ピクチャタイプの情報に加えて、動きベクトルの情報(picture_data()関数のslice()関数に記載されているmotion_vectors情報)を再利用する。ビットレートの情報は、SMPTE 329Mのextension_and_user_data(2)内のuser_data(2)のbit_rate_valueに記載されている。クロマフォーマットの情報は、SMPTE 329Mのsequence_header()関数のchroma_formatに記載されている。
動きベクトル検出部205は、制御部216から供給された制御信号を基に、過去の符号化における動きベクトル情報を、動きベクトルとして再利用する。
以前の符号化におけるビットレートが、今回の符号化のビットレートよりも小さく、かつ、以前の符号化におけるクロマフォーマットが、今回のクロマフォーマットと比較して、等しい、または、大きいと判断された場合、制御部216は、ピクチャタイプ、動きベクトルに加えて、量子化値(q_scale)を再利用する。
量子化値決定部208は、制御部216からから供給された制御信号を基に、必要に応じて、再利用された量子化値を量子化部207に供給して、量子化を実行させる。
画像並べ替え部203は、制御部216の制御に基づいて、順次入力される画像データの各フレーム画像を、必要に応じて、並べ替えたり、16画素×16ラインの輝度信号、および輝度信号に対応する色差信号によって構成されるマクロブロックに分割したマクロブロックデータを生成して、演算部204、および、動きベクトル検出部205に供給する。
動きベクトル検出部205は、マクロブロックデータの入力を受け、制御部216の制御に基づいて、各マクロブロックの動きベクトルを、マクロブロックデータ、および、フレームメモリ214に記憶されている参照画像データを基に算出し、動きベクトルデータとして、動き補償部213に送出したり、制御部216から供給された過去の符号化の動きベクトルを再利用して、動き補償部213に送出する。
演算部204は、画像並べ替え部203から供給されたマクロブロックデータについて、各マクロブロックの画像タイプに基づいた動き補償を行う。具体的には、演算部204は、Iピクチャに対してはイントラモードで動き補償を行い、Pピクチャに対しては、順方向予測モードで動き補償を行い、Bピクチャに対しては、双方向予測モードで動き補償を行うようになされている。
ここでイントラモードとは、符号化対象となるフレーム画像をそのまま伝送データとする方法であり、順方向予測モードとは、符号化対象となるフレーム画像と過去参照画像との予測残差を伝送データとする方法であり、双方向予測モードとは、符号化対象となるフレーム画像と、過去と将来の参照画像との予測残差を伝送データとする方法である。
まず、マクロブロックデータがIピクチャであった場合、マクロブロックデータはイントラモードで処理される。すなわち、演算部204は、入力されたマクロブロックデータのマクロブロックを、そのまま演算データとしてDCT(Discrete Cosine Transform :離散コサイン変換)部206に送出する。DCT部206は、入力された演算データに対しDCT変換処理を行うことによりDCT係数化し、これをDCT係数データとして、量子化部207に送出する。
量子化部207は、量子化値決定部208から供給される量子化値Qに基づいて、入力されたDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC(Variable Length Code;可変長符号化)部209および逆量子化部210に送出する。ここで、量子化部207は、量子化値決定部208から供給される量子化値Qに応じて、量子化処理における量子化ステップサイズを調整することにより、発生する符号量を制御するようになされている。
逆量子化部210に送出された量子化DCT係数データは、量子化部207と同じ量子化ステップサイズによる逆量子化処理を受け、DCT係数データとして、逆DCT部211に送出される。逆DCT部211は、供給されたDCT係数データに逆DCT処理を施し、生成された演算データは、演算部212に送出され、参照画像データとしてフレームメモリ214に記憶される。
そして、演算部204は、マクロブロックデータがPピクチャであった場合、マクロブロックデータについて、順方向予測モードよる動き補償処理を行い、Bピクチャであった場合、マクロブロックデータについて、双方向予測モードによる動き補償処理を行う。
動き補償部213は、フレームメモリ214に記憶されている参照画像データを、動きベクトルデータに応じて動き補償し、順方向予測画像データ、または、双方向予測画像データを算出する。演算部204は、マクロブロックデータについて、動き補償部213より供給される順方向予測画像データ、または、双方向予測画像データを用いて減算処理を実行する。
すなわち、順方向予測モードにおいて、動き補償部213は、フレームメモリ214の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを順方向予測画像データとして演算部204および演算部212に供給する。演算部204は、供給されたマクロブロックデータから、順方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部204は、差分データをDCT部206に送出する。
演算部212には、動き補償部213より順方向予測画像データが供給されており、演算部212は、逆DCT部210から供給された演算データに、順方向予測画像データを加算することにより、参照画像データを局部再生し、フレームメモリ214に出力して記憶させる。
また、双方向予測モードにおいて、動き補償部213は、フレームメモリ214の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを双方向予測画像データとして演算部204および演算部212に供給する。演算部204は、供給されたマクロブロックデータから、双方向予測画像データを減算して、予測残差としての差分データを得る。そして、演算部204は、差分データをDCT部206に送出する。
演算部212には、動き補償部213より双方向予測画像データが供給されており、演算部212は、逆DCT部210から供給された演算データに、双方向予測画像データを加算することにより、参照画像データを局部再生し、フレームメモリ214に出力して記憶させる。
かくして、符号化部161に入力された画像データは、動き補償予測処理、DCT処理および量子化処理を受け、量子化DCT係数データとして、VLC部209に供給される。VLC部209は、量子化DCT係数データに対し、所定の変換テーブルに基づく可変長符号化処理を行い、その結果得られる可変長符号化データをバッファ215に送出する。バッファ215は、供給された可変長符号化データをバッファリングした後、ストリームスイッチ219に出力する。
ストリームスイッチ219は、制御部216の制御に基づいて、バッファ215から供給された可変長符号化データを出力する。
量子化値決定部208は、バッファ215に格納される可変長符号化データの蓄積状態を常時監視しており、制御部216の制御に基づいて、蓄積状態を表す占有量情報、または、制御部216から供給される、過去の符号化のパラメータに含まれる量子化値Qを基に、量子化ステップサイズを決定するようになされている。
量子化値決定部208は、上述したように、制御部216から過去の符号化パラメータに含まれる量子化値Qが供給され、過去の符号化の量子化値を再利用することができる場合、過去の符号化パラメータに含まれる量子化値Qを基に、量子化ステップサイズを決定することができる。
また、量子化値決定部208は、ヒストリー情報を基に量子化ステップサイズを決定しない場合においては、目標発生符号量よりも実際に発生したマクロブロックの発生符号量が多いとき、発生符号量を減らすために量子化ステップサイズを大きくし、また目標発生符号量よりも実際の発生符号量が少ないとき、発生符号量を増やすために量子化ステップサイズを小さくするようになされている。
すなわち、量子化値決定部208は、デコーダ側に設けられたVBVバッファに格納された可変長符号化データの蓄積状態の推移を想定することにより、仮想バッファのバッファ占有量を求めて、量子化値Qを算出し、これを量子化部207に供給する。
j番目のマクロブロックにおける仮想バッファのバッファ占有量d(j)は、次の式(1)によって表され、また、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)は、次の式(2)によって表され、(1)式から(2)式を減算することにより、j+1番目のマクロブロックにおける仮想バッファのバッファ占有量d(j+1)は、次の式(3)として表される。
d(j)=d(0)+B(j−1)−{T×(j−1)/MBcnt} ・・・(1)
ここで、d(0)は初期バッファ容量、B(j)は、j番目のマクロブロックにおける符号化発生ビット数、MBcntは、ピクチャ内のマクロブロック数、そして、Tは、ピクチャ単位の目標発生符号量である。
d(j+1)=d(0)+B(j)−(T×j)/MBcnt ・・・(2)
d(j+1)=d(j)+{B(j)−B(j−1)}−T/MBcnt ・・・(3)
量子化値決定部208は、ピクチャ内のマクロブロックがイントラスライス部分とインタースライス部分とに分かれている場合には、イントラスライス部分のマクロブロックとインタースライス部分の各マクロブロックに割り当てる目標発生符号量TpiおよびTppをそれぞれ個別に設定する。
したがって、量子化値決定部208は、バッファ占有量d(j+1)、および、式(4)に示される定数rを、式(5)に代入することにより、マクロブロック(j+1)の量子化インデックスデータQ(j+1)を算出し、これを量子化部207に供給する。
r=(2×br)/pr ・・・(4)
Q(j+1)=d(j+1)×(31/r) ・・・(5)
ここで、brは、ビットレートであり、prは、ピクチャレートである。
量子化部207は、量子化値Qに基づいて、次のマクロブロックにおける量子化ステップサイズを決定し、量子化ステップサイズによってDCT係数データを量子化する。
これにより、量子化部207は、1つ前のピクチャにおける実際の発生符号量に基づいて算出された、次のピクチャの目標発生符号量にとって最適な量子化ステップサイズによって、DCT係数データを量子化することができる。
かくして、量子化部207では、バッファ215のデータ占有量に応じて、バッファ215がオーバーフローまたはアンダーフローしないように量子化し得るとともに、デコーダ側のVBVバッファがオーバーフロー、またはアンダーフローしないように量子化した量子化DCT係数データを生成することができる。
なお、以上においては、符号化処理を、ピクチャ単位で行う場合について説明したが、符号化処理が、ピクチャ単位ではなく、例えば、スライス単位や、マクロブロック単位で行われる場合にも、基本的に同様にして、符号化処理が実行される。
また、図4を用いて説明した、入力画像を高ビットレートでMPEGのLongGOPに符号化し、それを復号して、低ビットレートのLongGOPに再符号化する場合に、再符号化のための画像劣化が発生しないようになされているシステムについても、同様にして本発明を適用することが可能である。図16は、本発明を適用した、入力画像を高ビットレートでMPEGのLongGOPに符号化し、それを復号して低ビットレートのLongGOPに再符号化する場合に、VBVバッファの破綻を防止しつつ、再符号化のための画像劣化が発生しないようになされているシステムの構成を示すブロック図である。なお、図4における場合と対応する部分には同一の符号を付してある。更に、図6における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
すなわち、図16のシステムは、符号化装置1に代わって、図6を用いて説明した符号化装置151が備えられ、トランスコーダ131に代わって、トランスコーダ231が備えられ、トランスコーダ231は、符号化部142に代わって、供給されるストリームの条件に対応して、編集点付近の所定の再利用不可期間以外の期間において再利用可能な履歴情報(パラメータ情報)を選択して符号化に用いることが可能な符号化部241が設けられており、符号化部241には、復号部141から出力される復号された信号のほかに、復号部141に入力されているストリームデータも入力されているほかは、基本的に、トランスコーダ131と同様の構成を有する。
符号化装置151により符号化されたMPEGのLong GOPのストリーム(ASIストリーム)データの供給を受けたトランスコーダ231は、高ビットレートのMPEGのLong GOPを、復号部141で復号するときに、必要な符号化パラメータを取得して、復号されたビデオデータと取得された符号化パラメータを符号化部241に供給する。符号化部241は、必要に応じて、供給された符号化パラメータを用いて、ビデオデータを、低ビットレートのMPEGのLong GOPとなるように符号化し、符号化された低ビットレートのMPEGのLong GOPのストリーム(ASIストリーム)データを出力する。
図17は、符号化部241の構成を示すブロック図である。なお、図17においては、図12の符号化部161と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
すなわち、符号化部241は、ヒストリー抽出部201が省略され、復号部141から供給されるパラメータを取得して制御部216に供給する、パラメータ入力部221が設けられ、ヒストリー情報生成部218が省略されているほかは、図12の符号化部161と、基本的に同様の構成を有するものである。
編集点検出部217は、符号化部161に供給されたストリームデータ、または、パラメータ入力部251により取得されたパラメータ情報に基づいて、編集点を検出する。すなわち、編集点検出部217は、内部に有するメモリに、1フレーム前の追加符号化情報(例えば、Encoding_Start_Time_Code、Encoder_Serial_Number、Encoder_ID、および、Continuity_Counterを、それぞれ、Prev_Encoding_Start_Time_Code、Prev_Encoder_Serial_Number、Prev_Encoder_ID、および、Prev_Continuity_Counterとして)を保存し、図13を用いて説明したように、その次のフレームの追加符号化情報と比較して、連続性を示さない情報があるか否かを基に、編集点を検出する。なお、編集点検出部217は、追加符号化情報以外にも、例えば、ストリームデータに付加されている編集点を示すフラグ情報を検出することにより、編集点を検出するようにしても良い。
制御部216は、編集点検出部217から編集点を検出したことを示す信号の入力を受け、図14を用いて説明したように、パラメータ再利用不可期間を設定し、その期間は、パラメータ入力部221により抽出された、符号化パラメータ情報に含まれている過去の符号化のパラメータを用いずに符号化が実行されるように、画像並べ替え部203、動きベクトル検出部205、または、量子化値決定部208を制御する。また、制御部216は、パラメータ再利用不可期間以外の期間においては、パラメータ入力部221から、図10および図11を用いて説明したヒストリー情報と同様の情報を含むパラメータ情報の供給を受け、パラメータ情報に記載されている内容が、所定の条件に合致しているか否かを基に、画像並べ替え部203、動きベクトル検出部205、量子化値決定部208、ストリームスイッチ219の一部、もしくは全ての処理を制御する。
具体的には、制御部216は、パラメータ再利用不可期間以外の期間において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化と一致しているか否かを判断し、一致していないと判断された場合、パラメータの再利用を行わなず、後述する通常の符号化を実行すると判断する。ディレイモードは、SMPTE 329Mのsequence_extension()関数のlow_delayと同様にして、パラメータ情報に記載されている情報であり、ピクチャ構成およびプルダウンモードは、SMPTE 329Mのpicture_coding_extension()関数のpicture_structure、top_field_firstおよび、repeat_firt_fieldと同様にして、パラメータ情報に、それぞれ記載されている情報である。
以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化と一致していると判断された場合、制御部216は、次に符号化する画像枠は、パラメータ情報に示されている符号化処理を行った画像枠と一致しているか否かを判断し、画像枠が一致していないと判断された場合、ピクチャタイプの情報(図11を用いて説明した、extension_and_user_data(2)内のuser_data(2)に記載されているpicture_coding_typeと同様にして、パラメータ情報に記載されている情報)のみを再利用する。画像枠が一致しているか否かは、SMPTE 329Mのsequence_header()関数に記載されているhorizontal_size_value、および、vertical_size_value、並びに、SMPTE 329Mのv_phaseおよびh_phaseと同様にして、パラメータ情報に記載されている情報を比較することにより判断される。
画像並べ替え部203は、前の符号化のピクチャタイプが再利用されると判断された場合、制御部216から供給された制御信号を基に、パラメータ情報に含まれているピクチャタイプを基に、画像の並び替えを実行する。
画像枠が一致していると判断された場合、制御部216は、以前の符号化におけるビットレートが、今回の符号化のビットレートよりも小さく、かつ、以前の符号化におけるクロマフォーマットが、今回のクロマフォーマットと比較して、等しい、または、大きいか否かを判断し、いずれかの条件が満たされていなかったと判断された場合、ピクチャタイプの情報に加えて、動きベクトルの情報(picture_data()関数のslice()関数に記載されているmotion_vectors情報と同様にして、パラメータ情報に記載されている情報)を再利用する。ビットレートの情報は、SMPTE 329Mのextension_and_user_data(2)内のuser_data(2)のbit_rate_valueと同様にして、パラメータ情報に記載されている情報である。クロマフォーマットの情報は、SMPTE 329Mのsequence_header()関数のchroma_formatと同様にして、パラメータ情報に記載されている。
動きベクトル検出部205は、制御部216から過去の符号化の動きベクトル情報の供給を受け、動きベクトルとして再利用する。
以前の符号化におけるビットレートが、今回の符号化のビットレートよりも小さく、かつ、以前の符号化におけるクロマフォーマットが、今回のクロマフォーマットと比較して、等しい、または、大きいと判断された場合、制御部216は、パラメータのクロマフォーマットと今回のクロマフォーマットが一致しているか否かを判断し、一致していないと判断された場合、ピクチャタイプ、動きベクトルに加えて、量子化値(q_scale)を再利用する。
量子化値決定部208は、制御部216からから供給された制御信号を基に、過去の符号化に用いられた量子化値を量子化部207に供給して、量子化を実行させる。
クロマフォーマットと今回のクロマフォーマットが一致していると判断された場合、制御部216は、ストリームスイッチ219を制御して、復号部141に入力されたストリームデータを出力する。
なお、図17の符号化部241においては、パラメータ情報に含まれる前の符号化に関する情報を再利用するか否かにかかわる制御部216の処理以外の通常の符号化処理については、図12を用いて説明した符号化部161と同様の処理が実行されるので、その詳細な説明は省略する。
すなわち、図12を用いて説明した符号化部161および図17を用いて説明した符号化部241において、ヒストリー情報またはパラメータ情報を再利用しない場合、通常のエンコードが行われ、ピクチャタイプを再利用する場合、ヒストリー情報に含まれるSMPTE329Mのpicture_coding_type、または、パラメータ情報に含まれる同様の情報が再利用され、更に動きベクトルを再利用する場合、ヒストリー情報に含まれるred_bw_indicator=0からq_scale_codeを除いた情報、または、パラメータ情報に含まれる同様の情報が再利用され、更に量子化値を再利用する場合、ヒストリー情報に含まれるred_bw_indicator=0、または、パラメータ情報に含まれる同様の情報が再利用され、エンコーダへの入力ストリームが出力される場合、ストリームスイッチ219が制御されて、前段の復号部へ入力されたストリームデータが出力される。
図18のフローチャートを参照して、図12の符号化部161または図17の符号化部241の編集点検出部217が、符号化ストリームデータに付加された追加符号化情報を用いて編集点を検出する編集点検出処理1について説明する。
なお、編集点検出処理1は、図7を用いて説明した、追加符号化情報を含む符号化データ生成処理1において生成された符号化ストリームデータの編集点を検出する場合の処理である。
ステップS61において、図12の符号化部161または図17の符号化部241は、符号化ストリームを1フレーム取得する。
ステップS62において、図12の符号化部161または図17の符号化部241の編集点検出部217は、ヒストリー抽出部201により抽出されたヒストリー情報、または、パラメータ入力部251が取得したパラメータ情報を取得する。
ステップS63において、編集点検出部217は、ヒストリー情報、または、パラメータ情報から、Encoder_Serial_Number、Encoder_ID、および、Continuity_Counterを取得する。
ステップS64において、編集点検出部217は、取得されたフレームは、この符号化ストリームの一番最初のフレームであるか否かを判断する。
ステップS64において、取得されたフレームは、この符号化ストリームの一番最初のフレームであると判断された場合、ステップS65において、編集点検出部217は、取得したEncoder_Serial_Number、Encoder_ID、および、Continuity_Counterを、それぞれ、Prev_Encoder_Serial_Number、Prev_Encoder_ID、および、Prev_Continuity_Counterとして、内部のメモリに保存し、処理は、ステップS61に戻り、それ以降の処理が繰り返される。
ステップS64において、取得されたフレームは、この符号化ストリームの一番最初のフレームではないと判断された場合、ステップS66において、編集点検出部217は、ステップS63において取得されたEncoder_Serial_Number、Encoder_ID、および、Continuity_Counterを、内部のメモリに保存されているPrev_Encoder_Serial_Number、Prev_Encoder_ID、および、Prev_Continuity_Counterと比較する。
ステップS67において、編集点検出部217は、ステップS66の比較において、前のフレームと現フレームで、連続性がないと判断可能な比較結果があるか否かを判断する。連続性がないと判断可能な比較結果とは、具体的には、Encoder_Serial_NumberとPrev_Encoder_Serial_Numberとが異なるものである、Encoder_IDとPrev_Encoder_IDとが異なるものである、または、Continuity_CounterとPrev_Continuity_Counterとが連続する値ではない、のうちのいずれかの比較結果である。
ステップS67において、前のフレームと現フレームで、連続性がないと判断可能な比較結果があると判断された場合、ステップS68において、編集点検出部217は、編集点を検出したものとして、制御部216に編集点の検出を通知する。
ステップS67において、前のフレームと現フレームで、連続性がないと判断可能な比較結果がないと判断された場合、または、ステップS68の処理の終了後、ステップS69において、編集点検出部217は、取得したEncoder_Serial_Number、Encoder_ID、および、Continuity_Counterを、それぞれ、Prev_Encoder_Serial_Number、Prev_Encoder_ID、および、Prev_Continuity_Counterとして、内部のメモリに保存し、処理は、ステップS61に戻り、それ以降の処理が繰り返される。
このような処理により、フレームのカウント値が連続しているか否かと、符号化を行った符号化装置が同一であるか否かを基に、編集点であるか否かが判断される。
次に、図19のフローチャートを参照して、図12の符号化部161または図17の符号化部241の編集点検出部217が、符号化ストリームデータに付加された追加符号化情報を用いて編集点を検出する編集点検出処理2について説明する。
なお、編集点検出処理2は、図8を用いて説明した、追加符号化情報を含む符号化データ生成処理2において生成された符号化ストリームデータの編集点を検出する場合の処理である。
ステップS81において、図12の符号化部161または図17の符号化部241は、符号化ストリームを1フレーム取得する。
ステップS82において、図12の符号化部161または図17の符号化部241の編集点検出部217は、ヒストリー抽出部201により抽出されたヒストリー情報、または、パラメータ入力部251が取得したパラメータ情報を取得する。
ステップS83において、編集点検出部217は、ヒストリー情報、または、パラメータ情報から、Continuity_Counter、および、Encoding_Start_Time_Codeを取得する。
ステップS84において、編集点検出部217は、取得されたフレームは、この符号化ストリームの一番最初のフレームであるか否かを判断する。
ステップS84において、取得されたフレームは、この符号化ストリームの一番最初のフレームであると判断された場合、ステップS85において、編集点検出部217は、取得したContinuity_Counter、および、Encoding_Start_Time_Codeを、それぞれ、として、内部のメモリに保存して、処理は、ステップS81に戻り、それ以降の処理が繰り返される。
ステップS84において、取得されたフレームは、この符号化ストリームの一番最初のフレームではないと判断された場合、ステップS86において、編集点検出部217は、ステップS83において取得されたContinuity_Counter、および、Encoding_Start_Time_Codeを、内部のメモリに保存されているPrev_Continuity_Counter、および、Prev_Encoding_Start_Time_Codeと比較する。
ステップS87において、編集点検出部217は、ステップS86の比較において、前のフレームと現フレームで、連続性がないと判断可能な比較結果があるか否かを判断する。連続性がないと判断可能な比較結果とは、具体的には、Continuity_CounterとPrev_Continuity_Counterとが連続する値ではない、または、Encoding_Start_Time_CodeとPrev_Encoding_Start_Time_Codeとが異なるものである、のうちのいずれかの比較結果である。
ステップS87において、前のフレームと現フレームで、連続性がないと判断可能な比較結果があると判断された場合、ステップS88において、編集点検出部217は、編集点を検出したものとして、制御部216に編集点の検出を通知する。
ステップS87において、前のフレームと現フレームで、連続性がないと判断可能な比較結果がないと判断された場合、または、ステップS88の処理の終了後、ステップS89において、編集点検出部217は、取得したContinuity_Counter、および、Encoding_Start_Time_Codeを、それぞれ、Prev_Continuity_Counter、および、Prev_Encoding_Start_Time_Codeとして、内部のメモリに保存し、処理は、ステップS81に戻り、それ以降の処理が繰り返される。
このような処理により、フレームのカウント値が連続しているか否かと、符号化の開始時刻が同一であるか否かを基に、編集点であるか否かが判断される。
図20のフローチャートを参照して、図12の符号化部161または図17の符号化部241の編集点検出部217が、符号化ストリームデータに付加された追加符号化情報を用いて編集点を検出する編集点検出処理3について説明する。
なお、編集点検出処理3は、図9を用いて説明した、追加符号化情報を含む符号化データ生成処理3において生成された符号化ストリームデータの編集点を検出する場合の処理である。
ステップS101において、図12の符号化部161または図17の符号化部241は、符号化ストリームを1フレーム取得する。
ステップS102において、図12の符号化部161または図17の符号化部241の編集点検出部217は、ヒストリー抽出部201により抽出されたヒストリー情報、または、パラメータ入力部251が取得したパラメータ情報を取得する。
ステップS103において、編集点検出部217は、ヒストリー情報、または、パラメータ情報から、Encoder_Serial_Number、Encoder_ID、Encoding_Start_Time_Code、および、Continuity_Counterを取得する。
ステップS104において、編集点検出部217は、取得されたフレームは、この符号化ストリームの一番最初のフレームであるか否かを判断する。
ステップS104において、取得されたフレームは、この符号化ストリームの一番最初のフレームであると判断された場合、ステップS105において、編集点検出部217は、取得したEncoder_Serial_Number、Encoder_ID、Encoding_Start_Time_Code、および、Continuity_Counterを、それぞれ、Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoding_Start_Time_Code、および、Prev_Continuity_Counterとして、内部のメモリに保存して、処理は、ステップS101に戻り、それ以降の処理が繰り返る。
ステップS104において、取得されたフレームは、この符号化ストリームの一番最初のフレームではないと判断された場合、ステップS106において、編集点検出部217は、ステップS103において取得されたEncoder_Serial_Number、Encoder_ID、Encoding_Start_Time_Code、および、Continuity_Counterを、内部のメモリに保存されているPrev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoding_Start_Time_Codeおよび、Prev_Continuity_Counterと比較する。
ステップS107において、編集点検出部217は、ステップS106の比較において、前のフレームと現フレームで、連続性がないと判断可能な比較結果があるか否かを判断する。連続性がないと判断可能な比較結果とは、具体的には、Encoder_Serial_NumberとPrev_Encoder_Serial_Numberとが異なるものである、Encoder_IDとPrev_Encoder_IDとが異なるものである、Encoding_Start_Time_CodeとPrev_Encoding_Start_Time_Codeとが異なるものである、または、Continuity_CounterとPrev_Continuity_Counterとが連続する値ではない、のうちのいずれかの比較結果である。
ステップS107において、前のフレームと現フレームで、連続性がないと判断可能な比較結果があると判断された場合、ステップS108において、編集点検出部217は、編集点を検出したものとして、制御部216に編集点の検出を通知する。
ステップS107において、前のフレームと現フレームで、連続性がないと判断可能な比較結果がないと判断された場合、または、ステップS108の処理の終了後、ステップS109において、編集点検出部217は、取得したEncoder_Serial_Number、Encoder_ID、Encoding_Start_Time_Codeおよび、Continuity_Counterを、それぞれ、Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoding_Start_Time_Code、および、Prev_Continuity_Counterとして、内部のメモリに保存し、処理は、ステップS101に戻り、それ以降の処理が繰り返される。
このような処理により、フレームのカウント値が連続しているか否か、符号化を行った符号化装置が同一であるか否か、および、符号化開始時間が同一であるか否かを基に、精度よく編集点であるか否かが判断される。
なお、図18乃至図20を用いて説明した処理により検出された編集点は、後述する符号化処理において、再利用禁止期間を設定するために用いられるのみならず、再生時の頭だしのポイントや、シーンチェンジの検出などに用いるようにしても良い。
次に、図21のフローチャートを参照して、図12の符号化部161または図17の符号化部241が、検出された編集点を基に、編集点前後の所定の期間(編集点前後の所定枚数のフレームの区間)である再利用禁止期間においては、ヒストリー情報やパラメータ情報を用いずに符号化を実行するようになされている、符号化処理1について説明する。
ステップS131において、図12の符号化部161または図17の符号化部241は、フレーム画像データとその付帯情報、すなわち、ヒストリー情報、または、パラメータ情報を取得する。
ステップS132において、符号化部161または符号化部241の制御部216は、編集点検出部217から供給された信号を基に、編集点が検出されたか否かを判断する。
ステップS132において、編集点が検出されたと判断された場合、ステップS133において、制御部216は、編集点検出フラグをONにする。
ステップS132において、編集点が検出されていないと判断された場合、または、ステップS133の処理の終了後、ステップS134において、制御部216は、内部のレジスタを参照し、編集点検出フラグがオフであるか否かを判断する。
ステップS134において、編集点検出フラグがオフではないと判断された場合、ステップS135において、制御部216は、バッファ202に保持されているストリームデータから、編集点の直前のPピクチャを検出し、このPピクチャから、後述する処理により、再利用再開されると判定されるピクチャの1つ前のピクチャまでを、再利用不可期間と設定する。
例えば、Bピクチャの符号化情報をもつ画像が編集点であることが検出された場合、その直前までのBピクチャは、通常そのBピクチャの前後のPピクチャが参照されるようになされているため、編集点の1つ前のPピクチャから編集点までのピクチャは、ヒストリー情報やパラメータ情報を再利用して符号化を行ってしまうことにより、VBVバッファの破綻が生じてしまう恐れがある。また、同様にして、編集点以降のピクチャにおいても、その前後のピクチャを参照した符号化が行われていることにより、編集点における不連続性の影響が及ぶ可能性がある期間については、ヒストリー情報やパラメータ情報を再利用して符号化を行うことを禁止する必要がある。
ステップS136において、制御部216は、内部のレジスタの再利用停止フラグをONにし、編集点検出フラグをOFFにする。
ステップS137において、制御部216は、内部のレジスタにおいて、ピクチャ数をカウントするための変数Pic_contを、Pic_cont=0、Pピクチャの数をカウントするための変数P_Pic_contを、P_Pic_cont=0とリセットする。
ステップS138において、バッファ202は、供給されたピクチャを、所定の時間(少なくとも、Pピクチャの間隔より長い時間)だけバッファリングした後、出力する。
ステップS139において、制御部216は、パラメータまたはヒストリーの再利用を行わないで符号化処理を実行させるために、図12の符号化部161または図17の符号化部241の各部を制御し、処理は、ステップS132に戻り、それ以降の処理が繰り返される。
ステップS134において、編集点検出フラグがオフであると判断された場合、ステップS140において、制御部216は、内部のレジスタを参照し、再利用停止フラグがオフであるか、すなわち、再利用不可期間以外の期間であるか否かを判断する。ステップS140において、再利用停止フラグがオフである、すなわち、再利用不可期間以外の期間であると判断された場合、処理は、後述するステップS145に進む。
ステップS140において、再利用停止フラグがオフではない、すなわち、再利用不可期間中であると判断された場合、ステップS141において、図22、図24、または、図26を用いて後述する、再利用再開判定処理が実行される。
ステップS141において、図22を用いて後述する再利用判定処理1が実行されたとき、次に実行されるステップS141においても、常に、再利用判定処理1が実行されるようになされ、ステップS141において、図24を用いて後述する再利用判定処理2が実行されたとき、次に実行されるステップS141においても、常に、再利用判定処理2が実行されるようになされ、ステップS141において、図26を用いて後述する再利用判定処理3が実行されたとき、次に実行されるステップS141においても、常に、再利用判定処理3が実行されるようになされる。換言すれば、例えば、ステップS141において、図22を用いて後述する再利用判定処理1が実行された後、次に実行されるステップS141において、図24を用いて後述する再利用判定処理2や図26を用いて後述する再利用判定処理3が実行されることはない。
ステップS142において、制御部216は、ステップS141において実行された再利用再開判定処理の結果、パラメータまたはヒストリーの再利用が再開されるか否かを判断する。ステップS142において、パラメータまたはヒストリーの再利用が再開されないと判断された場合、処理は、ステップS139に進み、それ以降の処理が繰り返される。
ステップS142において、パラメータまたはヒストリーの再利用が再開されると判断された場合、ステップS143において、制御部216は、内部のレジスタの再利用停止フラグをOFFにする。
ステップS140において、再利用停止フラグがオフである、すなわち、再利用不可期間以外の期間であると判断された場合、または、ステップS143の処理の終了後、ステップS144において、バッファ202は、供給されたピクチャを、所定の時間(少なくとも、Pピクチャの間隔より長い時間)だけバッファリングした後、出力する。
ステップS145において、図28を用いて後述するパラメータ再利用符号化処理が実行されて、処理は、ステップS132に戻り、それ以降の処理が繰り返される。
ただし、再利用停止フラグがオフである、すなわち、再利用不可期間以外の期間であると判断されたり、または、パラメータまたはヒストリーの再利用が再開されると判断されても、その後の数ピクチャの間に編集点が検出された場合は、ステップS135の処理により、再利用不可区間に設定される可能性がある。したがって、ステップS140において、再利用停止フラグがオフである、すなわち、再利用不可期間以外の期間であると判断された場合、または、ステップS143の処理の終了後、一旦再利用不可期間以外であると判断されたピクチャは、バッファ202において、所定の期間バッファリングされ、その後の数ピクチャの間に編集点が検出されなかった場合にのみ、バッファ202から出力された画像データに対して、ステップS145において、図28を用いて後述するパラメータ再利用符号化処理が実行される。
このような処理により、再利用不可期間であるか否かに基づいて、符号化処理においてパラメータまたはヒストリーの再利用が行われるか否かが決定される。
次に、図22のフローチャートを参照して、図21のステップS141で実行される、再利用再開判定処理1について説明する。
ステップS161において、制御部216は、ピクチャ数をカウントするための変数Pic_contを、Pic_cont=Pic_cont+1とする。
ステップS162において、制御部216は、変数Pic_contが、所定の値n(例えば、n=8)より大きいか否かを判断する。
ステップS162において、変数Pic_contが、所定の値nより大きいと判断された場合、ステップS163において、制御部216は、この処理の後、図21のステップS139またはステップS145において符号化されるピクチャは、Iピクチャであるか否かを判断する。
ステップS163において、Iピクチャであると判断された場合、ステップS164において、制御部216は、このピクチャから、ヒストリー情報または符号化パラメータの再利用が再開可能であるとし、処理は、図21のステップS142に戻る。
すなわち、ステップS164の処理が実行された場合、図21のステップS142において、パラメータまたはヒストリーの再利用が再開されると判断されるので、再利用停止フラグがオフとなり、パラメータ再利用符号化処理が実行される。
ステップS162において、変数Pic_contが、所定の値nより小さいと判断された場合、または、ステップS163において、Iピクチャではないと判断された場合、ステップS165において、制御部216は、このピクチャにおいては、ヒストリー情報または符号化パラメータの再利用を再開することを不可とし、図21のステップS142に戻る。
すなわち、ステップS165の処理が実行された場合、図21のステップS142において、パラメータまたはヒストリーの再利用が再開されないと判断されるので、再利用停止フラグはオンのままとなり、パラメータ再利用符号化処理は実行されない。
このような処理により、再利用が開始されるピクチャが決定されるので、例えば、図23に示されるように、編集点Aに対して、時間的に1つ前の位置にあるPピクチャから、編集点Aから所定の数n(例えば、n=8)後のピクチャの次のIピクチャまでが、再利用不可期間Aとして定められる。また、編集点Bのように、数ピクチャしか隔てずにIピクチャが存在する位置において編集点が存在した場合、そのIピクチャでは再利用を再開せずに、編集点Bから、所定の数n(例えば、n=8)後のピクチャの次のIピクチャから、ヒストリー情報、または、パラメータ情報を再利用することができるようになされる。
なお、符号化部161においては、ステップS164において、再利用再開可能とされた場合、制御部216は、設定された再利用不可期間の情報を、ヒストリー情報生成部218に供給して、生成されるヒストリー情報に、設定された再利用不可期間の情報を加えるようにしても良い。このようにすることにより、編集点の検出や再利用不可期間の設定処理を実行することができない符号化装置においても、再利用不可期間において、ヒストリー情報を再利用せずに符号化を実行させ、VBVバッファの破綻や画像の劣化を防ぐようにすることができる。
次に、図24のフローチャートを参照して、図21のステップS141で実行される、再利用再開判定処理2について説明する。
ステップS181において、制御部216は、この処理の後、図21のステップS139またはステップS145において符号化されるピクチャは、Pピクチャ、または、Iピクチャであるか否かを判断する。
ステップS181において、Pピクチャ、または、Iピクチャであると判断された場合、ステップS182において、制御部216は、Pピクチャの数をカウントするための変数P_Pic_contを、P_Pic_cont=P_Pic_cont+1とする。
ステップS183において、制御部216は、P_Pic_contが所定の値m(例えば、m=3)より大きいか否かを判断する。
ステップS183において、P_Pic_contが所定の値mより大きいと判断された場合、ステップS184において、制御部216は、このピクチャから、ヒストリー情報または符号化パラメータの再利用が再開可能であるとし、処理は、図21のステップS142に戻る。
すなわち、ステップS184の処理が実行された場合、図21のステップS142において、パラメータまたはヒストリーの再利用が再開されると判断されるので、再利用停止フラグがオフとなり、パラメータ再利用符号化処理が実行される。
ステップS181において、Pピクチャ、または、Iピクチャではないと判断された場合、または、ステップS183において、P_Pic_contが所定の値mより小さいと判断された場合、ステップS185において、制御部216は、このピクチャにおいては、ヒストリー情報または符号化パラメータの再利用を再開することを不可とし、図21のステップS142に戻る。
すなわち、ステップS185の処理が実行された場合、図21のステップS142において、パラメータまたはヒストリーの再利用が再開されないと判断されるので、再利用停止フラグはオンのままとなり、パラメータ再利用符号化処理は実行されない。
このような処理により、再利用が開始されるピクチャが決定されるので、例えば、図25に示されるように、編集点に対して、時間的に1つ前の位置にあるPピクチャから、編集点から所定の数m(例えば、m=3)後のIピクチャまたはPピクチャまでが、再利用不可期間として定められる。
なお、この処理においても、符号化部161においては、ステップS184において、再利用再開可能とされた場合、制御部216は、設定された再利用不可期間の情報を、ヒストリー情報生成部218に供給して、生成されるヒストリー情報に、設定された再利用不可期間の情報を加えるようにしても良い。このようにすることにより、編集点の検出や再利用不可期間の設定処理を実行することができない符号化装置においても、再利用不可期間において、ヒストリー情報を再利用せずに符号化を実行させ、VBVバッファの破綻や画像の劣化を防ぐようにすることができる。
次に、図26のフローチャートを参照して、図21のステップS141で実行される、再利用再開判定処理3について説明する。
ステップS201において、制御部216は、この処理の後、図21のステップS139またはステップS145において符号化されるピクチャは、Pピクチャ、または、Iピクチャであるか否かを判断する。
ステップS201において、Pピクチャ、または、Iピクチャであると判断された場合、ステップS202において、制御部216は、Pピクチャの数をカウントするための変数P_Pic_contを、P_Pic_cont=P_Pic_cont+1とする。
ステップS201において、Pピクチャ、または、Iピクチャではないと判断された場合、または、ステップS202の処理の終了後、ステップS203において、制御部216は、P_Pic_contが所定の値m(例えば、m=3)より大きいか否かを判断する。
ステップS203において、P_Pic_contが所定の値mより大きいと判断された場合、ステップS204において、制御部216は、ピクチャ数をカウントするための変数Pic_contを、Pic_cont=Pic_cont+1とする。
ステップS205において、制御部216は、変数Pic_contが、所定の値n(例えば、n=8)より大きいか否かを判断する。
ステップS205において、変数Pic_contが、所定の値nより大きいと判断された場合、ステップS206において、制御部216は、この処理の後、図21のステップS139またはステップS145において符号化されるピクチャは、Iピクチャであるか否かを判断する。
ステップS206において、Iピクチャであると判断された場合、ステップS207において、制御部216は、このピクチャから、ヒストリー情報または符号化パラメータの再利用が再開可能であるとし、処理は、図21のステップS142に戻る。
すなわち、ステップS207の処理が実行された場合、図21のステップS142において、パラメータまたはヒストリーの再利用が再開されると判断されるので、再利用停止フラグがオフとなり、パラメータ再利用符号化処理が実行される。
ステップS203において、P_Pic_contが所定の値mより小さいと判断された場合、ステップS205において、変数Pic_contが、所定の値nより小さいと判断された場合、または、ステップS206において、Iピクチャではないと判断された場合、ステップS208において、制御部216は、このピクチャにおいては、ヒストリー情報または符号化パラメータの再利用を再開することを不可とし、図21のステップS142に戻る。
すなわち、ステップS208の処理が実行された場合、図21のステップS142において、パラメータまたはヒストリーの再利用が再開されないと判断されるので、再利用停止フラグはオンのままとなり、パラメータ再利用符号化処理は実行されない。
このような処理により、再利用が開始されるピクチャが決定されるので、例えば、図27に示されるように、編集点に対して、時間的に1つ前の位置にあるPピクチャから再利用不可期間が開始され、編集点から所定の数m(例えば、m=3)後のIピクチャまたはPピクチャからカウントして、所定の数n(例えば、n=8)後のピクチャの次のIピクチャまでが、再利用不可期間として定められる。
なお、符号化部161においては、ステップS207において、再利用再開可能とされた場合、制御部216は、設定された再利用不可期間の情報を、ヒストリー情報生成部218に供給して、生成されるヒストリー情報に、設定された再利用不可期間の情報を加えるようにしても良い。このようにすることにより、編集点の検出や再利用不可期間の設定処理を実行することができない符号化装置においても、再利用不可期間において、ヒストリー情報を再利用せずに符号化を実行させ、VBVバッファの破綻や画像の劣化を防ぐようにすることができる。
次に、図28のフローチャートを参照して、図12の符号化部161および図17の符号化部241が実行する、パラメータ再利用符号化処理について説明する。
ステップS221において、制御部216は、ヒストリー情報抽出部171からヒストリー情報、もしくは、パラメータ入力部221からパラメータ情報の供給を受け、ヒストリー情報に含まれるSMPTE 329Mのsequence_extension()関数のlow_delay、picture_coding_extension()関数のpicture_structure、top_field_firstおよび、repeat_firt_field、または、パラメータ情報に含まれるこれらの情報と同様の情報を参照して、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致しているか否かを判断する。
ステップS221において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致していないと判断された場合、ステップS222において、制御部216は、パラメータの再利用を行わないものとし、符号化部161または符号化部241の各部を制御して、符号化を実行させ、処理が終了される。
ステップS221において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致していていると判断された場合、ステップS223において、制御部216は、供給されたヒストリー情報に含まれる、SMPTE 329Mのsequence_header()関数に記載されているhorizontal_size_value、および、vertical_size_value、並びに、SMPTE 329Mのv_phaseおよびh_phase、または、パラメータ情報に含まれるこれらの情報と同様の情報を参照して、以前の符号化が実行された画像枠と、再符号化時の画像枠が、位置および大きさとも一致しているか否かを判断する。
ステップS223において、以前の符号化が実行された画像枠と再符号化時の画像枠とで、位置または大きさのうちの少なくとも1つが一致していないと判断された場合、ステップS224において、制御部216は、ピクチャタイプ(picture_coding_type)の情報を再利用して符号化を行うものとし、画像並べ替え部203を制御して、供給されたピクチャタイプの情報を再利用して画像の並び替えなどの処理を行わせ、その他の各部を制御して、符号化を実行させ、処理が終了される。
ステップS223において、以前の符号化が実行された画像枠と、再符号化時の画像枠が、位置および大きさとも一致したと判断された場合、ステップS225において、制御部216は、ヒストリー情報に含まれているSMPTE 329Mのextension_and_user_data(2)内のuser_data(2)のbit_rate_value、および、sequence_header()関数のchroma_format、または、パラメータ情報に含まれるこれらの情報と同様の情報を参照し、以前の符号化におけるビットレートが、今回の符号化のビットレートよりも小さく、かつ、以前の符号化におけるクロマフォーマットが、今回のクロマフォーマットと比較して、等しい、または、大きいか否かを判断する。
ステップS225において、以前の符号化におけるビットレートが、今回の符号化のビットレートよりも大きいか、または、以前の符号化におけるクロマフォーマットが、今回のクロマフォーマットより小さいと判断された場合、ステップS226において、制御部216は、ピクチャタイプ、および、動きベクトルの情報(motion_vectors情報)を再利用して符号化を行うものとし、画像並べ替え部203を制御して、供給されたピクチャタイプの情報を再利用して画像の並び替えなどの処理を行わせ、動きベクトル検出部205に過去の符号化における動きベクトル情報を供給して再利用させ、その他の各部を制御して、符号化を実行させ、処理が終了される。
ステップS225において、以前の符号化におけるビットレートが、今回の符号化のビットレートよりも小さく、かつ、以前の符号化におけるクロマフォーマットが、今回のクロマフォーマットと比較して、等しい、または、大きいと判断された場合、ステップS227において、制御部216は、復号部からパラメータが供給され(すなわち、ヒストリー情報が用いられて再利用符号化が行われるのではなく、パラメータ情報が用いられて再利用符号化が行われており)、かつ、供給されたパラメータ情報に含まれているSMPTE 329Mのsequence_header()関数のchroma_formatと同様の情報を参照して、パラメータのクロマフォーマットと今回のクロマフォーマットが一致しているか否かを判断する。すなわち、符号化部241を含むトランスコーダ231が、例えば、4:2:0フォーマットから、4:2:2フォーマットへのフォーマット変換を行う場合などにおいては、クロマフォーマットが一致しないと判断される。
ステップS227において、復号部141からパラメータが供給されるのではなく、復号部161からヒストリー情報が供給されているか、または、パラメータ情報のクロマフォーマットと今回のクロマフォーマットが一致していないと判断された場合、ステップS228において、制御部216は、ピクチャタイプ、動きベクトル、および、量子化値の情報(q_scale)を再利用して符号化を行うものとし、画像並べ替え部203を制御して、供給されたピクチャタイプの情報を再利用して画像の並び替えなどの処理を行わせ、動きベクトル検出部205に過去の符号化における動きベクトル情報を供給して再利用させ、量子化値決定部208に、ヒストリー情報またはパラメータ情報に含まれていた量子化値を量子化部207に供給させて、量子化を実行させ、その他の各部を制御して、符号化を実行させ、処理が終了される。
ステップS227において、復号部141からパラメータが供給され、かつ、パラメータ情報のクロマフォーマットと今回のクロマフォーマットが一致していると判断された場合、ステップS229において、制御部216は、ストリームスイッチ219を制御して、復号部141に入力されたストリームデータを出力し、処理が終了される。
このような処理により、以前の符号化と今回の符号化とを比較して、満たされている条件に基づいて、再利用可能な符号化情報を選択することができるようにしたので、復号および符号化の処理が繰り返されるような場合においても、画像データの劣化を防ぐようにすることができる。
なお、図28のフローチャートによる説明においては、ステップS221、ステップS223、ステップS225、または、ステップS227の処理において、以前の符号化における符号化のパラメータと、今回の符号化の条件とを比較して、所定の条件を満たしているか否かを、それぞれ、判断するものとして説明したが、例えば、データ伝送のシステムにおいて、固定となっているパラメータが存在するような場合においては、そのパラメータに関する判断処理が省略されるようにしても良い。
すなわち、例えば、データ伝送のシステムにおいて、多くのパラメータが固定となっている場合など、所定の条件を満たしている場合においては、ステップS221、ステップS223、ステップS225、または、ステップS227のような条件判断を行うことなく、過去の符号化に関する情報であるヒストリー情報またはパラメータ情報を利用して再符号化を行うようにしてもよい。
図21乃至図28を用いて説明した処理においては、再利用不可期間か否かを基に、パラメータの再利用が可能か否かが決定されるようになされていたが、再利用不可期間に加えて、部分的再利用可能期間を設けることにより、パラメータ情報の再利用不可期間の後、一定期間、パラメータ情報を部分的に再利用可能な期間を設け、その後、パラメータ再利用符号化が可能なようにすることができる。このとき、制御部216は、内部のレジスタに、再利用停止フラグに代わって、再利用完全停止フラグおよび再利用部分停止フラグを設けるものとする。
図29のフローチャートを参照して、部分的再利用可能期間を設ける場合の符号化処理2について説明する。
ステップS241乃至ステップS245においては、図21のステップS131乃至ステップS135と同様の処理が実行される。
すなわち、フレーム画像データとその付帯情報が取得され、編集点が検出されたか否かを判断される。編集点が検出されたと判断された場合、編集点検出フラグがONとされ、編集点が検出されていないと判断された場合、または、編集点検出フラグがONとされた後、内部のレジスタが参照されて、編集点検出フラグがオフであるか否かが判断される。編集点検出フラグがオフではないと判断された場合、バッファ202に保持されているストリームデータから、編集点の直前のPピクチャが検出され、このPピクチャから、再利用不可期間が設定される。
ステップS246において、制御部216は、内部のレジスタの再利用完全停止フラグをONにし、再利用部分停止フラグをONにし、編集点検出フラグをOFFにする。
ステップS247乃至ステップS249において、図21のステップS137乃至ステップS139と同様の処理が実行される。
すなわち、ピクチャ数をカウントするための変数Pic_contはPic_cont=0に、Pピクチャの数をカウントするための変数P_Pic_contはP_Pic_cont=0にリセットされる。そして、供給されたピクチャが、所定の時間(少なくとも、Pピクチャの間隔より長い時間)だけバッファリングされた後、出力され、パラメータまたはヒストリーの再利用が行われずに符号化処理が実行されて、処理は、ステップS242に戻り、それ以降の処理が繰り返される。
ステップS244において、編集点検出フラグがオフであると判断された場合、ステップS250において、制御部216は、内部のレジスタの再利用完全停止フラグおよび再利用部分停止フラグがOFFであるか否かを判断する。ステップS250において、再利用完全停止フラグおよび再利用部分停止フラグがオフであると判断された場合、処理は、後述するステップS258に進む。
ステップS250において、内部のレジスタの再利用完全停止フラグまたは再利用部分停止フラグのいずれか少なくとも一方がオフではないと判断された場合、ステップS251において、図30を用いて後述する、部分または完全な再利用再開判定処理が実行される。
ステップS252において、制御部216は、ステップS251の部分または完全な再利用再開判定処理の結果、パラメータまたはヒストリーの再利用が完全に再開されるか否かを判断する。ステップS252において、パラメータまたはヒストリーの再利用が完全に再開されると判断された場合、処理は、後述する、ステップS257に進む。
ステップS252において、パラメータまたはヒストリーの再利用が完全に再開されないと判断された場合、ステップS253において、制御部216は、ステップS251の部分または完全な再利用再開判定処理の結果、パラメータまたはヒストリーの再利用が一部再開されるか否かを判断する。ステップS253において、パラメータまたはヒストリーの再利用が一部再開されないと判断された場合、処理は、ステップS248に進む。
ステップS253において、パラメータまたはヒストリーの再利用が一部再開されると判断された場合、ステップS254において、制御部216は、内部のレジスタの再利用部分停止フラグをOFFにする。
ステップS255において、バッファ202は、供給されたピクチャを、所定の時間(少なくとも、Pピクチャの間隔より長い時間)だけバッファリングした後、出力する。ただし、パラメータまたはヒストリーの一部を再利用してもよいと判断されたピクチャは、バッファ202において、所定の期間バッファリングされ、その後の数ピクチャの間に編集点が検出されなかった場合に、次のステップS256の処理を施される。
ステップS256において、図32または図33を用いて後述するパラメータ部分的再利用符号化処理が実行されて、処理は、ステップS242に戻り、それ以降の処理が繰り返される。
ステップS252において、パラメータまたはヒストリーの再利用が完全に再開されると判断された場合、ステップS257において、制御部216は、内部のレジスタの再利用完全停止フラグをOFFにする。
ステップS253において、パラメータまたはヒストリーの再利用が一部再開されないと判断された場合、または、ステップS257の処理の終了後、ステップS258において、バッファ202は、供給されたピクチャを、所定の時間(少なくとも、Pピクチャの間隔より長い時間)だけバッファリングした後、出力する。ただし、パラメータまたはヒストリーを完全に再利用してもよいと判断されたピクチャは、バッファ202において、所定の期間バッファリングされ、その後の数ピクチャの間に編集点が検出されなかった場合に、次のステップS239の処理を施される。
そして、ステップS259において、図28を用いて説明したパラメータ再利用符号化処理が実行されて、処理は、ステップS242に戻り、それ以降の処理が繰り返される。
このような処理により、再利用不可期間であるか否か、または、再利用部分可能期間であるか否かに基づいて、符号化処理において、パラメータまたはヒストリーの再利用を完全に許可するか、部分的に許可するかが決定される。
次に、図30のフローチャートを参照して、図29のステップS251において実行される、部分または完全な再利用再開判定処理について説明する。
ステップS271において、制御部216は、この処理の後、図21のステップS139またはステップS145において符号化されるピクチャは、Pピクチャ、または、Iピクチャであるか否かを判断する。
ステップS271において、Pピクチャ、または、Iピクチャであると判断された場合、ステップS272において、制御部216は、Pピクチャの数をカウントするための変数P_Pic_contを、P_Pic_cont=P_Pic_cont+1とする。
ステップS271において、Pピクチャ、または、Iピクチャではないと判断された場合、または、ステップS272の処理の終了後、ステップS273において、制御部216は、P_Pic_contが所定の値m(例えば、m=3)より大きいか否かを判断する。
ステップS273において、P_Pic_contが所定の値mより大きいと判断された場合、ステップS274において、制御部216は、このピクチャにおいては、ヒストリー情報または符号化パラメータの再利用を部分的に再開することを可能とし、処理は、図29のステップS252に戻る。
すなわち、ステップS274の処理が実行された場合、処理は、図29のステップS252において、パラメータまたはヒストリーの再利用が完全には再開されないと判断されても、ステップS253において、パラメータまたはヒストリーの再利用が部分的には再開されると判断されるので、少なくとも、再利用部分停止フラグはオフとなり、パラメータ部分的再利用符号化処理が実行される。
ステップS273において、P_Pic_contが所定の値mより小さいと判断された場合、ステップS275において、制御部216は、このピクチャにおいては、ヒストリー情報または符号化パラメータの再利用を部分的にも完全にも再開することを不可とし、処理は、図29のステップS252に戻る。
すなわち、ステップS275の処理が実行された場合、処理は、図29のステップS252において、パラメータまたはヒストリーの再利用が完全には再開されないと判断されて、ステップS253において、パラメータまたはヒストリーの再利用が部分的には再開されないと判断されるので、ステップS249において、パラメータおよびヒストリーの再利用を行うことなく符号化処理が実行される。
ステップS276において、制御部216は、ピクチャ数をカウントするための変数Pic_contを、Pic_cont=Pic_cont+1とする。
ステップS277において、制御部216は、変数Pic_contが、所定の値n(例えば、n=8)より大きいか否かを判断する。
ステップS277において、変数Pic_contが、所定の値nより大きいと判断された場合、ステップS278において、制御部216は、この処理の後、図29のステップS249、ステップS256、または、ステップS159において符号化されるピクチャは、Iピクチャであるか否かを判断する。
ステップS278において、Iピクチャであると判断された場合、ステップS279において、制御部216は、このピクチャから、ヒストリー情報または符号化パラメータの完全な再利用が再開可能であるとし、処理は、処理は、図29のステップS252に戻る。
すなわち、ステップS279の処理が実行された場合、処理は、図29のステップS252において、パラメータまたはヒストリーの完全な再利用が再開されると判断されるので、再利用完全停止フラグがオフとなり、パラメータ再利用符号化処理が実行される。
ステップS277において、変数Pic_contが、所定の値nより小さいと判断された場合、または、ステップS278において、Iピクチャではないと判断された場合、ステップS280において、制御部216は、このピクチャにおいては、ヒストリー情報または符号化パラメータの完全な再利用を再開することを不可とし、処理は、図29のステップS252に戻る。
すなわち、ステップS280の処理が実行された場合、処理は、図29のステップS252において、パラメータまたはヒストリーの完全な再利用が再開されないと判断されて、ステップS253において、パラメータまたはヒストリーの再利用が部分的には再開されると判断されるので、再利用部分停止フラグはオフとなり、パラメータ部分的再利用符号化処理が実行される。
このような処理により、再利用が部分的に再開されるピクチャと、再利用が完全に開始されるピクチャが決定されるので、例えば、図31に示されるように、編集点に対して、時間的に1つ前の位置にあるPピクチャから再利用不可期間が開始され、編集点から所定の数m(例えば、m=3)後のIピクチャまたはPピクチャまでは、再利用不可区間とされて、ヒストリーおよびパラメータをまったく参照することなく符号化が実行される。そして、編集点から所定の数m後のIピクチャまたはPピクチャからカウントして、所定の数n(例えば、n=8)後のピクチャの次のIピクチャまでが、部分的再利用可能期間として定められ、図32または図33を用いて後述する処理により定められる過去の符号化パラメータのうちの一部を再利用して、符号化処理が実行される。
なお、符号化部161の制御部216においては、図30を用いて説明した処理により設定された再利用不可期間および部分再利用可能期間の情報を、ヒストリー情報生成部218に供給して、生成されるヒストリー情報に、設定された再利用不可期間および部分再利用可能期間の情報を加えるようにしても良い。このようにすることにより、編集点の検出や再利用不可期間および部分再利用可能期間の設定処理を実行することができない符号化装置においても、再利用不可期間において、ヒストリー情報を再利用せずに符号化を実行させるとともに、部分再利用可能期間においてヒストリー情報のうちの一部を再利用させて符号化させることができるので、VBVバッファの破綻や画像の劣化を防ぐようにすることができる。
また、図29のステップS256で実行されるパラメータ部分的再利用符号化処理については、パラメータ再利用符号化処理において再利用が認められる符号化パラメータのうちの一部を再利用して符号化を実行するものである。この処理には、パラメータ再利用符号化処理において再利用が認められる符号化パラメータのうち、条件に基づいて、ピクチャタイプおよび動きベクトルの情報を再利用することができる場合が発生するパラメータ部分的再利用符号化処理1と、条件に基づいて、ピクチャタイプのみ再利用可能な場合が発生するパラメータ部分的再利用符号化処理2とがある。
次に、図32のフローチャートを参照して、図29のステップS256で実行されるパラメータ部分的再利用符号化処理1について説明する。
ステップS301において、制御部216は、ヒストリー情報抽出部171からヒストリー情報、もしくは、パラメータ入力部221からパラメータ情報の供給を受け、ヒストリー情報に含まれるSMPTE 329Mのsequence_extension()関数のlow_delay、picture_coding_extension()関数のpicture_structure、top_field_firstおよび、repeat_firt_field、または、パラメータ情報に含まれるこれらの情報と同様の情報を参照して、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致しているか否かを判断する。
ステップS301において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致していないと判断された場合、ステップS302において、制御部216は、パラメータの再利用を行わないものとし、符号化部161または符号化部241の各部を制御して、符号化を実行させ、処理は、図29のステップS242に戻る。
ステップS301において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致していていると判断された場合、ステップS303において、制御部216は、供給されたヒストリー情報に含まれる、SMPTE 329Mのsequence_header()関数に記載されているhorizontal_size_value、および、vertical_size_value、並びに、SMPTE 329Mのv_phaseおよびh_phase、または、パラメータ情報に含まれるこれらの情報と同様の情報を参照して、以前の符号化が実行された画像枠と、再符号化時の画像枠が、位置および大きさとも一致しているか否かを判断する。
ステップS303において、以前の符号化が実行された画像枠と再符号化時の画像枠とで、位置または大きさのうちの少なくとも1つが一致していないと判断された場合、ステップS304において、制御部216は、ピクチャタイプ(picture_coding_type)の情報を再利用して符号化を行うものとし、画像並べ替え部203を制御して、供給されたピクチャタイプの情報を再利用して画像の並び替えなどの処理を行わせ、その他の各部を制御して、符号化を実行させ、処理は、図29のステップS242に戻る。
ステップS303において、以前の符号化が実行された画像枠と、再符号化時の画像枠が、位置および大きさとも一致したと判断された場合、ステップS305において、制御部216は、ピクチャタイプ、および、動きベクトルの情報(motion_vectors情報)を再利用して符号化を行うものとし、画像並べ替え部203を制御して、供給されたピクチャタイプの情報を再利用して画像の並び替えなどの処理を行わせ、動きベクトル検出部205に過去の符号化における動きベクトル情報を供給して再利用させ、その他の各部を制御して、符号化を実行させ、処理は、図29のステップS242に戻る。
このような処理により、以前の符号化と今回の符号化とを比較して、満たされている条件に基づいて、再利用可能な符号化情報を部分的に選択することができるようにしたので、復号および符号化の処理が繰り返されるような場合においても、画像データの劣化を防ぐようにすることができる。
なお、図32のフローチャートによる説明においては、ステップS301、または、ステップS303の処理において、以前の符号化における符号化のパラメータと、今回の符号化の条件とを比較して、所定の条件を満たしているか否かを、それぞれ、判断するものとして説明したが、例えば、データ伝送のシステムにおいて、固定となっているパラメータが存在するような場合においては、そのパラメータに関する判断処理が省略されるようにしても良い。
次に、図33のフローチャートを参照して、図29のステップS256で実行されるパラメータ部分的再利用符号化処理2について説明する。
ステップS321において、制御部216は、ヒストリー情報抽出部171からヒストリー情報、もしくは、パラメータ入力部221からパラメータ情報の供給を受け、ヒストリー情報に含まれるSMPTE 329Mのsequence_extension()関数のlow_delay、picture_coding_extension()関数のpicture_structure、top_field_firstおよび、repeat_firt_field、または、パラメータ情報に含まれるこれらの情報と同様の情報を参照して、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致しているか否かを判断する。
ステップS321において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致していないと判断された場合、ステップS322において、制御部216は、パラメータの再利用を行わないものとし、符号化部161または符号化部241の各部を制御して、符号化を実行させ、処理は、図29のステップS242に戻る。
ステップS321において、以前の符号化におけるディレイモード、ピクチャ構成、およびプルダウンモードが、今回の符号化の符号化条件と一致していていると判断された場合、ステップS323において、制御部216は、ピクチャタイプ(picture_coding_type)の情報を再利用して符号化を行うものとし、画像並べ替え部203を制御して、供給されたピクチャタイプの情報を再利用して画像の並び替えなどの処理を行わせ、その他の各部を制御して、符号化を実行させ、処理は、図29のステップS242に戻る。
このような処理により、以前の符号化と今回の符号化とを比較して、条件が満たされている場合は、再利用可能な符号化情報として、ピクチャタイプのみを選択することができるようにしたので、復号および符号化の処理が繰り返されるような場合においても、画像データの劣化を防ぐようにすることができる。
なお、図33のフローチャートによる説明においても、ステップS321において、以前の符号化における符号化のパラメータと、今回の符号化の条件とを比較して、所定の条件を満たしているか否かが判断されているが、例えば、データ伝送のシステムにおいて、固定となっているパラメータが存在するような場合においては、そのパラメータに関する判断処理が省略されるようにしても良い。
なお、本発明は、例えば、リオーダリングディレイの原因となるBピクチャ、および、発生符号量の多いIピクチャを使用せずに、Pピクチャのみを使用し、このPピクチャを、数スライスからなるイントラスライスと、残り全てのスライスからなるインタースライスとに区切ることにより、リオーダリングなしに符号化することができるようになされているローディレイエンコードを行う場合においても適用可能である。
また、本発明は、ローディレイコーディングとして各フレーム画像を全てPピクチャとし、例えば、横45マクロブロック、縦24マクロブロックの画枠サイズの中でフレーム画像の上段から縦2マクロブロックおよび横45マクロブロック分の領域を1つのイントラスライス部分、他を全てインタースライス部分として設定するようにした場合においても、イントラスライス部分を縦1マクロブロック、横45マクロブロック分の領域とするなど、他の種々の大きさの領域で形成するようにした場合においても適用可能である。
また、本発明は、フレーム内圧縮を行って画像を符号化する場合においても適用可能であることは言うまでもない。
更に、上述の実施の形態においては、本発明をMPEG方式によって圧縮符号化する符号化部161、または、符号化部241に適用するようにした場合について述べたが、本発明はこれに限らず、他の種々の画像圧縮方式による符号化装置に適用するようにしても良い。
なお、上述の実施の形態においては、ストリームデータを変換するトランスコーダが、それぞれ、復号部と符号化部を有しているものとして説明したが、復号部および符号化部が、それぞれ、復号装置および符号化装置として、独立した装置として構成されている場合においても、本発明は適用可能である。
すなわち、上述の実施の形態においては、それぞれのトランスコーダが、ストリームデータを変換するものとして説明したが、例えば、図34に示されるように、ストリームデータを復号してベースバンド信号に変換する復号装置271、ベースバンド信号を符号化してストリームデータに変換する符号化装置272が、それぞれ独立した装置として構成されていても良い。更に、復号装置271が、供給されたストリームデータを完全に復号せず、対応する符号化装置272が、非完全に復号されたデータの対応する部分を部分的に符号化する場合においても、本発明は適用可能である。
例えば、復号装置271が、VLC符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していなかった場合、符号化装置272は、量子化および可変長符号化処理を行うが、DCT変換処理は行わない。このような部分的な符号化(中途段階からの符号化)を行う符号化装置272の量子化における量子化値を再利用するか否かの決定において、本発明を適用することができるのは言うまでもない。
更に、復号装置271が完全に復号したベースバンド信号を、符号化装置272が中途段階まで符号化する場合(例えば、DCT変換および量子化を行うが可変長符号化処理を行わないなど)や、復号装置271が完全に復号していない(例えば、VLC符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していない)ため、中途段階まで符号化されているデータに対して、符号化装置272が更に中途段階まで符号化する場合など(例えば、量子化を行うが可変長符号化処理を行わないなど)においても、本発明は適用可能である。
更に、このような部分的な復号を行う(復号処理の工程のうちの一部を実行する)符号化装置251と部分的な符号化を行う(符号化処理の工程のうちの一部を実行する)符号化装置272で構成されたトランスコーダ281においても、本発明は適用可能である。このようなトランスコーダ281は、例えば、スプライシングなどの編集を行う編集装置282が利用される場合などに用いられる。
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、トランスコーダ152や、トランスコーダ231は、図35に示されるようなパーソナルコンピュータ301により構成される。
図35において、CPU(Central Processing Unit)311は、ROM(Read Only Memory)312に記憶されているプログラム、または記憶部318からRAM(Random Access Memory)313にロードされたプログラムに従って、各種の処理を実行する。RAM313にはまた、CPU311が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU311、ROM312、およびRAM313は、バス314を介して相互に接続されている。このバス314にはまた、入出力インタフェース315も接続されている。
入出力インタフェース315には、キーボード、マウスなどよりなる入力部316、ディスプレイやスピーカなどよりなる出力部317、ハードディスクなどより構成される記憶部318、モデム、ターミナルアダプタなどより構成される通信部319が接続されている。通信部319は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース315にはまた、必要に応じてドライブ320が接続され、磁気ディスク331、光ディスク332、光磁気ディスク333、もしくは、半導体メモリ334などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部318にインストールされる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図35に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク331(フロッピディスクを含む)、光ディスク332(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク333(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ334などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM312や、記憶部318に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記憶されるプログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的もしくは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
フレーム編集を行う場合の再符号化が行われる従来のシステムを説明するための図である。 MPEGのLong GOPのビットレートを変更して再符号化することが可能な従来のシステムについて説明するための図である。 フレーム編集を行う場合の再符号化が行われる従来のシステムにおいて、符号化履歴情報を利用する場合について、説明するための図である。 MPEGのLong GOPのビットレートを変更して再符号化することが可能な従来のシステムで符号化履歴情報を利用する場合について、説明するための図である。 本発明を適用した、フレーム編集を行う場合の再符号化が行われるシステムの構成を示すブロックである。 図5の符号化装置の構成を示すブロック図である。 追加符号化情報を含む符号化データ生成処理1を説明するためのフローチャートである。 追加符号化情報を含む符号化データ生成処理2を説明するためのフローチャートである。 追加符号化情報を含む符号化データ生成処理3を説明するためのフローチャートである。 SMPTE 329Mに規定されている、compressed_stream_format_of_MPEG_2_recoding_set()のシンタックスについて説明するための図である。 extension_and_user_data(2)内のuser_data(2)に記載されている情報について説明するための図である。 図5の符号化部の構成を示すブロック図である。 編集点検出について説明するための図である。 再利用不可期間の開始点について説明するための図である。 再利用不可期間中に再度編集点があった場合の再利用不可期間について説明するための図である。 本発明を適用した、MPEGのLong GOPのビットレートを変更して再符号化することが可能なシステムの構成を示すブロック図である。 図16の符号化部の構成を示すブロック図である。 編集点検出処理1について説明するためのフローチャートである。 編集点検出処理2について説明するためのフローチャートである。 編集点検出処理3について説明するためのフローチャートである。 符号化処理1について説明するためのフローチャートである。 再利用再開判定処理1について説明するためのフローチャートである。 再利用再開判定処理1が実行された場合の再利用不可期間について説明するための図である。 再利用再開判定処理2について説明するためのフローチャートである。 再利用再開判定処理2が実行された場合の再利用不可期間について説明するための図である。 再利用再開判定処理3について説明するためのフローチャートである。 再利用再開判定処理3が実行された場合の再利用不可期間について説明するための図である。 パラメータ再利用符号化処理について説明するフローチャートである。 符号化処理2について説明するためのフローチャートである。 部分または完全な再利用再開判定処理について説明するためのフローチャートである。 部分または完全な再利用再開判定処理が実行された場合の再利用不可期間について説明するための図である。 パラメータ部分的再利用符号化処理1について説明するためのフローチャートである。 パラメータ部分的再利用符号化処理2について説明するためのフローチャートである。 本発明を適用可能な異なる装置の構成について説明するための図である。 パーソナルコンピュータの構成を示すブロック図である。
符号の説明
11 伝送路, 3 フレーム編集装置, 11 伝送路, 101 トランスコーダ, 111 復号部, 112 符号化部, 121 復号部, 151 符号化装置, 152 トランスコーダ, 181 フレームカウンタ, 182 追加符号化情報生成部, 183 タイマ, 184 メモリ, 185 符号化部, 161 符号化部, 201 ヒストリー抽出部, 202 バッファ, 203 画像並べ替え部, 204 演算部, 205 動きベクトル検出部, 206 DCT部, 207 量子化部, 208 量子化値決定部, 209 VLC部, 210 逆量子化部, 211 逆DCT部, 212 演算部, 213 動き補償部, 214 フレームメモリ, 215 バッファ, 216 制御部, 217 編集点検出部, 218 ヒストリー情報生成部, 219 ストリームスイッチ, 231 トランスコーダ, 241 符号化部, 251 パラメータ入力部

Claims (9)

  1. 符号化ストリームを再符号化ストリームに変換処理するストリーム変換装置において、
    画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報と前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータとを、前記符号化ストリームとともに取得する取得手段と、
    前記取得手段により取得された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出する編集点検出手段と、
    前記編集点検出手段により検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、前記取得手段により取得された前記過去の符号化パラメータを前記利用符号化パラメータとして選択する選択手段と、
    前記選択手段により選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理する変換手段と
    を備えるストリーム変換装置。
  2. 前記編集点検出手段は、前記取得手段により取得された前記追加符号化情報内の前記区別情報が変更されたことを検出した場合に、前記編集点を検出する
    請求項1に記載のストリーム変換装置。
  3. 前記符号化ストリームは、シーケンスレイヤ、GOPレイヤ、ピクチャレイヤ、スライスレイヤ、および、マクロブロックレイヤを有するMPEG方式で符号化処理されている
    請求項1に記載のストリーム変換装置。
  4. 前記符号化ストリームは、全てのピクチャがIピクチャとして符号化処理されるAll Intra方式、または、Iピクチャ・Pピクチャ・Bピクチャの3種類のピクチャタイプで符号処理されるLong GOP方式である
    請求項に記載のストリーム変換装置。
  5. 前記変換手段は、シーケンスレイヤ、GOPレイヤ、ピクチャレイヤ、スライスレイヤ、および、マクロブロックレイヤを有するMPEG方式で変換処理を行う
    請求項1に記載のストリーム変換装置。
  6. 前記変換手段は、全てのピクチャをIピクチャとして符号化処理するAll Intra方式、または、Iピクチャ・Pピクチャ・Bピクチャの3種類のピクチャタイプで符号化処理するLong GOP方式で変換処理を行う
    請求項に記載のストリーム変換装置。
  7. 符号化ストリームを再符号化ストリームに変換処理するストリーム変換装置のストリーム変換方法において、
    画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報と前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータとを、前記符号化ストリームとともに取得し、
    取得された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出し、
    検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、取得された前記過去の符号化パラメータを前記利用符号化パラメータとして選択し、
    選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理する
    ステップを含むストリーム変換方法。
  8. 符号化ストリームを再符号化ストリームに変換する処理をコンピュータに実行させるプログラムであって、
    画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報、および、前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータ、並びに、前記符号化ストリームの取得を制御し、
    取得が制御された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出し、
    検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、取得が制御された前記過去の符号化パラメータを前記利用符号化パラメータとして選択し、
    選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理する
    ステップを含む処理をコンピュータに実行させるためのプログラム。
  9. 符号化ストリームを再符号化ストリームに変換する処理をコンピュータに実行させるプログラムであって、
    画像データを符号化処理する符号化手段を特定する区別情報を含む追加符号化情報、および、前記符号化ストリームに対する過去の符号化処理または復号処理において利用された過去の符号化パラメータ、並びに、前記符号化ストリームの取得を制御し、
    取得が制御された前記追加符号化情報内の前記区別情報を、フレーム毎に比較することにより、前記符号化ストリームの編集点を検出し、
    検出された前記編集点を含む所定区間では、変換処理する際に生成する現在の符号化パラメータを利用符号化パラメータとして選択し、前記編集点を含む所定区間以外の区間では、取得が制御された前記過去の符号化パラメータを前記利用符号化パラメータとして選択し、
    選択された前記利用符号化パラメータを利用して、前記符号化ストリームを前記再符号化ストリームに変換処理する
    ステップを含む処理をコンピュータに実行させるプログラムが記録された記録媒体。
JP2006336989A 2006-12-14 2006-12-14 ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体 Expired - Fee Related JP4496499B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006336989A JP4496499B2 (ja) 2006-12-14 2006-12-14 ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006336989A JP4496499B2 (ja) 2006-12-14 2006-12-14 ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003327256A Division JP3915121B2 (ja) 2003-09-19 2003-09-19 画像処理装置および画像処理方法、情報処理装置および情報処理方法、プログラム、並びに、記録媒体

Publications (2)

Publication Number Publication Date
JP2007129746A JP2007129746A (ja) 2007-05-24
JP4496499B2 true JP4496499B2 (ja) 2010-07-07

Family

ID=38151961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006336989A Expired - Fee Related JP4496499B2 (ja) 2006-12-14 2006-12-14 ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP4496499B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319453A (en) * 1989-06-22 1994-06-07 Airtrax Method and apparatus for video signal encoding, decoding and monitoring
JP2000059788A (ja) * 1998-03-10 2000-02-25 Sony Corp 復号装置および方法、並びに提供媒体
JP2001169278A (ja) * 1999-12-06 2001-06-22 Sony Corp ストリーム生成装置および方法、ストリーム伝送装置および方法、符号化装置および方法、並びに記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319453A (en) * 1989-06-22 1994-06-07 Airtrax Method and apparatus for video signal encoding, decoding and monitoring
JP2000059788A (ja) * 1998-03-10 2000-02-25 Sony Corp 復号装置および方法、並びに提供媒体
JP2001169278A (ja) * 1999-12-06 2001-06-22 Sony Corp ストリーム生成装置および方法、ストリーム伝送装置および方法、符号化装置および方法、並びに記録媒体

Also Published As

Publication number Publication date
JP2007129746A (ja) 2007-05-24

Similar Documents

Publication Publication Date Title
JP4196726B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP5429580B2 (ja) 復号装置および方法、プログラム、並びに記録媒体
US20030123841A1 (en) Commercial detection in audio-visual content based on scene change distances on separator boundaries
JP4232588B2 (ja) 画像処理装置および画像処理方法、並びに、プログラム
EP2960855B1 (en) Method and device for determining a set of modifiable elements in a group of pictures
JPH08111870A (ja) 画像情報の再符号化方法及び装置
US20020172282A1 (en) Signal coding apparatus and method, signal recording medium, and signal transmitting method
JP4224778B2 (ja) ストリーム変換装置および方法、符号化装置および方法、記録媒体、並びに、プログラム
JP4120934B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP4826533B2 (ja) 画像処理装置および画像処理方法、プログラム、並びに、記録媒体
JP4496499B2 (ja) ストリーム変換装置およびストリーム変換方法、プログラム、並びに記録媒体
JP3915121B2 (ja) 画像処理装置および画像処理方法、情報処理装置および情報処理方法、プログラム、並びに、記録媒体
JP2005094550A (ja) 画像処理装置および画像処理方法、情報処理装置および情報処理方法、プログラム、並びに、情報処理システム
EP1517562A2 (en) Video coding including auxiliary information for performing and tracking successive processing steps like editing, splicing, fingerprinting
JP4539028B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JPH11234675A (ja) 動画像符号化装置及び方法、動画像復号装置及び方法並びに記録媒体
JP2006311078A (ja) 高能率符号化記録装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100208

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: 20100318

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: 20100331

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees