(57)【要約】【課題】  本発明は、入力ビデオデータを符号化するためエンコーディングシステム及び符号化ストリームをデコードするためのデコーディングシステムに関する。具体的には、ＭＰＥＧエンコーディング処理及びＭＰＥＧデコーディング処理を繰り返したとしても、ビデオデータに付加されているアンシラリーデータやビデオデータ固有の情報が無くならないように、符号化ストリームと一緒に伝送するためのシステム及び方法を提供するものである。【解決手段】  ＭＰＥＧエンコーダは、その入力ビデオデータに付加されているアンシラリーデータを抽出し、抽出したアンシラリーデータを符号化ストリーム中にＡｎ−ｃｉｌｌａｒｙ＿ｄａｔａ（）として挿入することによって、符号化ストリームと一緒にこのアンシラリーデータを伝送する。ＭＰＥＧデコーダは、符号化ストリームからアンシラリーデータを抽出し、ＭＰＥＧデコーディング処理によって生成されたベースバンドビデオデータに抽出したアンシラリーデータを付加する。【選択図】図６ 
2004328771.tif 000002
【特許請求の範囲】
【請求項１】
入力ビデオデータをエンコードするためのエンコーディング装置において、
上記入力ビデオデータから、上記ビデオデータのブランキング期間に付加されているアンシラリーデータを抽出する抽出手段と、
上記入力ビデオデータをエンコードし、符号化ストリームを生成する符号化手段と、
上記符号化ストリーム中に上記アンシラリーデータが挿入されるように、上記符号化手段をコントロールするコントロール手段と
を備えたことを特徴とするエンコーディング装置。
【請求項２】
上記コントロール手段は、上記アンシラリーデータを上記符号化ストリームのピクチャレイヤのユーザーデータエリヤに記述することを特徴とする請求項１に記載のエンコーディング装置。
【請求項３】
上記コントロール手段は、上記符号化ストリームのピクチャレイヤのｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（ｉ）中に、上記アンシラリーデータを記述することを特徴とする請求項１に記載のエンコーディング装置。
【請求項４】
上記コントロール手段は、上記符号化ストリームのピクチャレイヤのユーザデータエリアに、上記アンシラリーデータをフィールド単位又はフレーム単位に記述するように上記符号化手段をコントロールすることを特徴とする請求項１に記載のエンコーディング装置。
【請求項５】
上記コントロール手段は、上記入力ビデオデータにおいて上記アンシラリーデータが挿入されていたフィールドを示すフィールドＩＤと、上記アンシラリーデータとを関連付けて上記ピクチャレイヤに記述するように上記符号化手段をコントロールすることを特徴とする請求項１に記載のエンコーディング装置。
【請求項６】
上記コントロール手段は、上記入力ビデオデータにおいて上記アンシラリーデータが挿入されていたフィールドを示すフィールドＩＤと、上記アンシラリーデータが挿入されていたライン番号と、上記アンシラリーデータとを関連付けて上記ピクチャレイヤに記述するように上記符号化手段をコントロールすることを特徴とする請求項１に記載のエンコーディング装置。
【請求項７】
上記入力ビデオデータの１フレームが複数のフィールドから構成され、
上記コントロール手段は、上記符号化ストリームのピクチャレイヤに、各フィールド毎に上記アンシラリーデータを夫々記述することを特徴とする請求項１に記載のエンコーディング装置。
【請求項８】
上記符号化ストリーム中に記述される上記アンシラリーデータは、可変長符号化されたデータストリームであることを特徴とする請求項１に記載のエンコーディング装置。
【請求項９】
上記アンシラリーデータは、クローズドキャプションデータ及び／又はテレテキストデータであることを特徴とする請求項１に記載のエンコーディング装置。
【請求項１０】
上記アンシラリーデータは、上記符号化ストリームのピクチャレイヤにおいて、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（）によって表されるシンタックスに基づいて記述されることを特徴とする請求項１に記載のエンコーディング装置。
【請求項１１】
上記入力ビデオデータは、３−２プルダウン処理された３０Ｈｚのビデオデータであって、
上記抽出手段と上記符号化手段との間に接続され、上記入力ビデオデータに対して、逆３−２プルダウン処理を行うことによって逆プルダウン処理されたビデオデータを生成するための逆プルダウン手段をさらに備えたことを特徴とする請求項１に記載のエンコーディング装置。
【請求項１２】
入力ビデオデータをエンコードするためのエンコーディング方法において、
上記入力ビデオデータから、上記ビデオデータのブランキング期間に付加されているアンシラリーデータを抽出するステップと、
上記入力ビデオデータをエンコードし、符号化ストリームを生成するステップと、
上記符号化ストリーム中に上記アンシラリーデータが挿入されるように、上記符号化手段をコントロールするステップと
を備えたことを特徴とするエンコーディング方法。
【請求項１３】
入力ビデオデータをエンコードするためのエンコーディング装置において、
上記入力ビデオデータから、上記ビデオデータのブランキング期間に付加されているアンシラリーデータを抽出する手段と、
上記入力ビデオデータをエンコードし、符号化ストリームを生成する手段と、
上記符号化ストリームと一緒に上記アンシラリーデータが伝送されるように、上記符号化ストリーム中に上記アンシラリーデータを挿入する手段と
を備えたことを特徴とするエンコーディング装置。
【請求項１４】
入力ビデオデータをエンコードするためのエンコーディング方法において、
上記入力ビデオデータから、上記ビデオデータのブランキング期間に付加されているアンシラリーデータを抽出するステップと、
上記入力ビデオデータをエンコードし、符号化ストリームを生成するステップと、
上記符号化ストリームと一緒に上記アンシラリーデータが伝送されるように、上記符号化ストリーム中に上記アンシラリーデータを挿入するステップと
を備えたことを特徴とするエンコーディング方法。
【請求項１５】
入力ビデオデータをエンコードするためのエンコーディング装置において、
上記入力ビデオデータから、上記ビデオデータのブランキング期間に付加されているアンシラリーデータを抽出する手段と、
上記入力ビデオデータのアクティブエリアをエンコードすることによって、符号化ストリームを生成する手段と、
上記アンシラリーデータを上記符号化ストリーム中に記述することによって、上記符号化ストリームと一緒に上記アンシラリーデータを伝送する手段と
を備えたことを特徴とするエンコーディング装置。
【請求項１６】
入力ビデオデータをエンコードするためのエンコーディング方法において、
上記入力ビデオデータから、上記ビデオデータのブランキング期間に付加されているアンシラリーデータを抽出するステップと、
上記入力ビデオデータのアクティブエリアをエンコードすることによって、符号化ストリームを生成するステップと、
上記アンシラリーデータを上記符号化ストリーム中に記述することによって、上記符号化ストリームと一緒に上記アンシラリーデータを伝送するステップと
を備えたことを特徴とするエンコーディング方法。
【請求項１７】
入力ビデオデータをエンコードするためのエンコーディング装置において、
上記入力ビデオデータが有している固有情報を上記入力ビデオデータから抽出する抽出手段と、
上記入力ビデオデータをエンコードし、符号化ストリームを生成する符号化手段と、上記符号化ストリームと一緒に上記固有情報が伝送されるように、上記符号化ストリーム中に上記固有情報を挿入する手段と
を備えたことを特徴をするエンコーディング装置。
【請求項１８】
上記固有情報は、上記符号化ストリームのシーケンスレイヤのユーザデータエリヤに挿入されることを特徴とする請求項１７に記載のエンコーディング装置。
【請求項１９】
上記固有情報は、上記入力ビデオデータにおけるアクティブビデオのスタート位置を示す情報であって、
上記符号化手段は、上記アクティブビデオのビデオデータを符号化することを特徴とする請求項１７に記載のエンコーディング装置。
【請求項２０】
上記固有情報は、上記符号化ストリームのシーケンスレイヤにおいて、Ｖ＿ｐｈａｓｅ（）とＨ＿ｐｈａｓｅ（）によって表されるシンタックスに基づいて記述されることを特徴とする請求項１７に記載のエンコーディング装置。
【請求項２１】
入力ビデオデータをエンコードするためのエンコーディング方法において、
上記入力ビデオデータが有している固有情報を上記入力ビデオデータから抽出するステップと、
上記入力ビデオデータをエンコードし、符号化ストリームを生成するステップと、
上記符号化ストリームと一緒に上記固有情報が伝送されるように、上記符号化ストリーム中に上記固有情報を挿入するステップと
を備えたことを特徴とするエンコーディング方法。
【請求項２２】
入力ビデオデータをエンコードするためのエンコーディング装置において、
上記入力ビデオデータに対するアクティブビデオのフェーズを示すフェーズ情報を、上記入力ビデオデータから得る手段と、
上記入力ビデオデータをエンコードし、符号化ストリームを生成する手段と、
上記符号化ストリームと一緒に上記フェーズ情報が伝送されるように、上記符号化ストリームに上記フェーズ情報を付加する手段と
を備えたことを特徴とするエンコーディング装置。
【請求項２３】
入力ビデオデータをエンコードするためのエンコーディング方法において、
上記入力ビデオデータに対するアクティブビデオのフェーズを示すフェーズ情報を、上記入力ビデオデータから得るステップと、
上記入力ビデオデータをエンコードし、符号化ストリームを生成するステップと、
上記符号化ストリームと一緒に上記フェーズ情報が伝送されるように、上記符号化ストリームに上記フェーズ情報を付加するステップと
を備えたことを特徴とするエンコーディング方法。
【請求項２４】
入力ビデオデータをエンコードするためのエンコーディング装置において、
上記入力ビデオデータに対するアクティブビデオのフェーズを示すフェーズ情報を、上記入力ビデオデータから得る手段と、
上記入力ビデオデータをエンコードし、符号化ストリームを生成する手段と、
上記符号化ストリームのシーケンスレイヤに上記フェーズ情報を記述する手段と
を備えたことを特徴とするエンコーディング装置。
【請求項２５】
入力ビデオデータをエンコードするためのエンコーディング方法において、
上記入力ビデオデータに対するアクティブビデオのフェーズを示すフェーズ情報を、上記入力ビデオデータから得るステップと、
上記入力ビデオデータをエンコードし、符号化ストリームを生成するステップと、
上記符号化ストリームのシーケンスレイヤに上記フェーズ情報を記述するステップと
を備えたことを特徴とするエンコーディング方法。
【請求項２６】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング装置において、
上記符号化ストリームから、上記符号化ストリーム中に含まれているアンシラリーデータを抽出する抽出手段と、
上記符号化ストリームをデコードし、復号化ビデオデータを生成する復号化手段と、
上記復号化ビデオデータのブランキング期間に、上記アンシラリーデータを多重化する多重化手段と
を備えたことを特徴とするデコーディング装置。
【請求項２７】
上記抽出手段は、上記符号化ストリームのシンタックスをパージングすることによって、上記符号化ストリームのピクチャレイヤのユーザデータエリアから上記アンシラリーデータを抽出することを特徴とする請求項２６に記載のデコーデイング装置。
【請求項２８】
上記符号化ストリーム中には、上記入力ビデオデータにおいて上記アンシラリーデータが挿入されていたフィールドを示すフィールドＩＤが上記アンシラリーデータと関連付けて記述されており、
上記多重化手段は、上記フィールドＩＤによって指定されたフィールドに上記アンシラリーデータを多重化することを特徴とする請求項２６に記載のデコーデイング装置。
【請求項２９】
上記符号化ストリーム中には、上記入力ビデオデータにおいて上記アンシラリーデータが挿入されていたラインを示すライン番号が上記アンシラリーデータと関連付けて記述されており、
上記多重化手段は、上記ライン番号によって指定されるラインに、上記アンシラリーデータを多重化することを特徴とする請求項２６に記載のデコーディング装置。
【請求項３０】
上記アンシラリーデータは、上記符号化ストリームのピクチャレイヤのＡｎｃｉｌｌａｒｙ＿ｄａｔａ（）の中に記述されていることを特徴とする請求項２６に記載のデコーディング装置。
【請求項３１】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング方法において、
上記符号化ストリームから、上記符号化ストリーム中に含まれているアンシラリーデータを抽出するステップと、
上記符号化ストリームをデコードし、復号化ビデオデータを生成するステップと、
上記復号化ビデオデータのブランキング期間に、上記アンシラリーデータを多重化するステップと
を備えたことを特徴とするデコーディング方法。
【請求項３２】
入力ビデオデータを符号化することによって生成された符号化ストリームをデコードするためのデコーディング装置において、
上記符号化ストリームのシンタックスを解析することによって、上記符号化ストリーム中に含まれているアンシラリーデータを得る手段と、
上記符号化ストリームをデコードし、復号化ビデオデータを生成する復号化手段と、
上記入力ビデオデータと上記符号化ビデオデータとが同じアンシラリーデータを有するように、上記復号化ビデオデータに上記アンシラリーデータを多重化する手段と
を備えたことを特徴とするデコーディング装置。
【請求項３３】
入力ビデオデータを符号化することによって生成された符号化ストリームをデコードするためのデコーディング方法において、
上記符号化ストリームのシンタックスを解析することによって、上記符号化ストリーム中に含まれているアンシラリーデータを得るステップと、
上記符号化ストリームをデコードし、復号化ビデオデータを生成するステップと、
上記入力ビデオデータと上記符号化ビデオデータとが同じアンシラリーデータを有するように、上記復号化ビデオデータに上記アンシラリーデータを多重化するステップと
を備えたことを特徴とするデコーディング方法。
【請求項３４】
入力ビデオデータを符号化することによって生成された符号化ストリームをデコードするためのデコーディング装置において、
上記符号化ストリームのピクチャエリアに含まれているアンシラリーデータを、上記符号化ストリームから得る手段と、
上記符号化ストリームをデコードし、復号化ビデオデータを生成する復号化手段と、
上記復号化ビデオデータと上記アンシラリーデータとを多重化することによって、上記入力ビデオデータを同じデータを生成する手段と
を備えたことを特徴とするデコーディング装置。
【請求項３５】
入力ビデオデータを符号化することによって生成された符号化ストリームをデコードするためのデコーディング方法において、
上記符号化ストリームのピクチャエリアに含まれているアンシラリーデータを、上記符号化ストリームから得るステップと、
上記符号化ストリームをデコードし、復号化ビデオデータを生成するステップと、
上記復号化ビデオデータと上記アンシラリーデータとを多重化することによって、上記入力ビデオデータを同じデータを生成するステップと
を備えたことを特徴とするデコーディング方法。
【請求項３６】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング装置において、
上記符号化ストリームから、上記符号化ストリーム中に含まれている情報であって、上記入力ビデオデータの固有情報を抽出する抽出手段と、
上記符号化ストリームをデコードし、復号化ビデオデータを生成する復号化手段と、
上記固有情報に基づいて、上記復号化ビデオデータからベースバンドビデオデータを生成する生成手段と
を備えたことを特徴とするデコーディング装置。
【請求項３７】
上記抽出手段は、上記符号化ストリームのシンタックスをパージングすることによって、上記符号化ストリームのシーケンスレイヤのユーザデータエリアから上記固有情報を抽出することを特徴とする請求項３６に記載のデコーディング装置。
【請求項３８】
上記固有情報は、上記入力ビデオデータにおけるアクティブビデオの位置を示す情報であって、上記符号化ストリームのシーケンスレイヤにおいて、Ｖ＿ｐｈａｓｅ（）とＨ＿ｐｈａｓｅ（）によって表されるシンタックスに基づいて記述されていることを特徴とする請求項３６に記載のデコーディング装置。
【請求項３９】
上記固有情報は、上記入力ビデオデータにおけるアクティブビデオの位置を示す情報であって、
上記生成手段は、上記固有情報に基づいて、上記入力ビデオデータにおけるアクティブビデオの位置と同じ位置に、上記復号化ビデオデータがマッピングされたベースバンドビデオデータを生成することを特徴とする請求項３６に記載のデコーディング装置。
【請求項４０】
上記固有情報は、上記入力ビデオデータにおけるアクティブビデオの位置を示す情報であって、
上記生成手段は、上記固有情報に基づいて、上記復号化ビデオデータに対してブランキング期間を付加することによってベースバンドビデオデータを生成することを特徴とする請求項３６に記載のデコーディング装置。
【請求項４１】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング方法において、
上記符号化ストリームから、上記符号化ストリーム中に含まれている情報であって、上記入力ビデオデータの固有情報を抽出するステップと、
上記符号化ストリームをデコードし、復号化ビデオデータを生成するステップと、
上記固有情報に基づいて、上記復号化ビデオデータからベースバンドビデオデータを生成するステップと
を備えたことを特徴とするデコーディング方法。
【請求項４２】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング装置において、
上記符号化ストリームから、上記符号化ストリーム中に含まれている情報であって、上記入力ビデオデータの固有情報を抽出する抽出手段と、
上記符号化ストリームをデコードし、復号化ビデオデータを生成する復号化手段と、
上記固有情報に基づいて、上記復号化ビデオデータを処理する手段と
を備えたことを特徴とするデコーディング装置。
【請求項４３】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング方法において、
上記符号化ストリームから、上記符号化ストリーム中に含まれている情報であって、上記入力ビデオデータの固有情報を抽出するステップと、
上記符号化ストリームをデコードし、復号化ビデオデータを生成するステップと、
上記固有情報に基づいて、上記復号化ビデオデータを処理するステップと
を備えたことを特徴とするデコーディング方法。
【請求項４４】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング装置において、
上記符号化ストリームから、上記符号化ストリーム中に含まれている情報であって、上記入力ビデオデータの固有情報を抽出する抽出手段と、
上記符号化ストリームをデコードし、復号化ビデオデータを生成する復号化手段と、上記固有情報に基づいて、上記復号化ビデオデータを処理する手段と
を備えたことを特徴とするデコーディング装置。
【請求項４５】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング方法において、
上記符号化ストリームから、上記符号化ストリーム中に含まれている情報であって、上記入力ビデオデータの固有情報を抽出するステップと、
上記符号化ストリームをデコードし、復号化ビデオデータを生成するステップと、
上記固有情報に基づいて、上記復号化ビデオデータを処理するステップと
を備えたことを特徴とするデコーディング方法。
【請求項４６】
入力ビデオデータを符号化するエンコーディング手段と、上記符号化手段によって符号化された符号化ストリームを受け取って、上記符号化ストリームを復号化し復号化ビデオデータを生成するデコーディング手段とを備えたコーディングシステムにおいて、
上記エンコーディング手段は、
上記符号化ストリームを生成するために上記入力ビデオデータを符号化する手段と、
上記入力ビデオデータに付与されているアンシラリーデータを上記符号化ストリーム中に挿入する手段とを備え、
上記デコーディング手段は、
上記復号化ビデオデータを生成するために上記符号化ストリームを復号化する手段と、
上記符号化ストリームと共に伝送されてきたアンシラリーデータを、上記復号化ビデオデータに多重化する手段とを備えていることを特徴とするコーディングシステム。
【請求項４７】
入力ビデオデータを符号化するエンコーディングプロセスと、上記エンコーディングプロセスによって符号化された符号化ストリームを受け取って、上記符号化ストリームを復号化するデコーディングプロセスとを行うコーディングシステムを使用して、上記入力ビデオデータに対して符号化プロセス及び復号化プロセスを行うためのコーディング方法において、
上記エンコーディングプロセスは、
上記符号化ストリームを生成するために上記入力ビデオデータを符号化するステップと、上記入力ビデオデータに関連するアンシラリーデータを上記符号化ストリーム中に挿入するステップとを含み、
上記デコーディングプロセスは、
上記復号化ビデオデータを生成するために上記符号化ストリームを復号化するステップと、上記符号化ストリームと共に伝送されてきたアンシラリーデータを、上記復号化ビデオデータに多重化するステップとを含んでいる
ことを特徴とするコーディング方法。
【請求項４８】
入力ビデオデータを符号化するエンコーディング手段と、上記符号化手段によって符号化された符号化ストリームを受け取って、上記符号化ストリームを復号化し復号化ビデオデータを生成するデコーディング手段とを備えたコーディングシステムにおいて、
上記エンコーディング手段は、
上記符号化ストリームを生成するために上記入力ビデオデータを符号化する手段と、上記入力ビデオデータが有している固有情報を上記符号化ストリーム中に挿入する手段とを備え、
上記デコーディング手段は、
上記復号化ビデオデータを生成するために上記符号化ストリームを復号化する手段と、上記符号化ストリームと共に伝送されてきた固有情報に基づいて、上記復号化ビデオデータを処理する手段とを備えたことを特徴とするコーディングシステム。
【請求項４９】
入力ビデオデータを符号化するエンコーディングプロセスと、上記エンコーディングプロセスによって符号化された符号化ストリームを受け取って、上記符号化ストリームを復号化するデコーディングプロセスとを行うコーディングシステムを使用して、上記入力ビデオデータに対して符号化プロセス及び復号化プロセスを行うためのコーディング方法において、
上記エンコーディングプロセスは、
上記符号化ストリームを生成するために上記入力ビデオデータを符号化するステップと、上記入力ビデオデータに関連する固有情報を上記符号化ストリーム中に挿入するステップとを含み、
上記デコーディングプロセスは、
上記復号化ビデオデータを生成するために上記符号化ストリームを復号化するステップと、上記符号化ストリームと共に伝送されてきた固有情報に基づいて、上記復号化ビデオデータを処理するステップとを含んでいることを特徴とするコーディング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は入力ビデオデータを符号化するためエンコーディングシステム及び符号化ストリームをデコードするためのデコーディングシステムに関する。
【背景技術】
【０００２】
近年、テレビジョンプログラムを制作及び放送する放送局においては、ビデオデータを圧縮/ 符号化するために、ＩＳＯ／ＩＥＣ  １３８１８として規定されているＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）技術が一般的に使われるようになってきた。特に、ビデオカメラなどによって生成されたビデオデータを、テープやディスクなどのランダムアクセス可能な記録媒体素材に記録する場合や、放送局内において制作されたビデオプログラムを、ケーブルや衛星を介して伝送する場合には、このＭＰＥＧがデファクトスタンダードになりつつある。
【０００３】
このＭＰＥＧ技術は、ピクチャ間の予測符号化方式を用いることによって、圧縮効率を向上させることができる符号化技術である。具体的には、ＭＰＥＧ規格においては、フレーム内予測やフレーム予測を組み合わせた複数の予測符号化を採用しており、その予測方式に従って、各ピクチャはＩピクチャ（Ｉｎｔｒａ  Ｐｉｃｔｕｒｅ）、Ｐピクチャ（ＰｒｅｄｉｃｔｉｖｅＰｉｃｔｕｒｅ）、またはＢピクチャ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙｐｒｅｄｉｃｔｉｖｅ  Ｐｉｃｔｕｒｅ）のいずれかのピクチャタイプを使用してエンコード処理が行われる。Ｉピクチャは、他のピクチャからの予測が行われず、フレーム内符号化処理されたピクチャであり、Ｐピクチャは、時間的に前（過去）のＩピクチャ又はＰピクチャからフレーム間順方向予測符号化されたピクチャであり、Ｂピクチャは、時間的に前（過去）のＩピクチャ又はＰピクチャと、時間的に後（未来）のＩピクチャ又はＰピクチャとの両方向のピクチャから双方向予測符号化されたピクチャである。
【０００４】
図１は、放送局内及放送局間におけるビデオプロセッシングシステムの一例を示している。前述したように、放送局内や放送局間では、送信側システムとして設けられた第１のビデオプロセッサ１から、受信側システムとしてもうけられた第２のビデオプロセッサ４ヘ、ソースビデオデータを伝送するために、送信システムと受信システムとの間において、図１のようにＭＰＥＧエンコーダ及びＭＰＥＧデコーダを使用することが提案されている。
【０００５】
第１のビデオプロセッサ１は、Ｄ１フォーマットのコンポーネント形式のベースバンドビデオ等のソースビデオデータを受け取り、そのソースビデオデータに対して、編集処理、特殊効果処理、合成処理などを行うための装置である。さらには、このビデオプロセッサ１は、クローズドキャプションやテレテキストデータ等の補助データ（アンシラリーデータ）を受け取り、そのアンシラリーデータをソースビデオデータのブランキング期間に付加する処理も行う。従って、ビデオプロセッサ１から出力されるビデオデータのブランキング期間には、アンシラリーデータが埋め込まれて（エンベデッド）されている。
【０００６】
ＭＰＥＧエンコーダ２は、ビデオプロセッサ１からビデオデータを受け取り、そのビデオデータをエンコードすることによって符号化ストリームを生成する。この符号化ストリームは、エレメンタリーストリームとも称される。誰もが知っているように、テレビジョン信号というのは、アクティブビデオエリアと呼ばれる実際のビデオデータエリアの上下及び左右に垂直ブランキング期間及び水平ブランキング期間が設けられており、上述したアンシラリーデータは、このブランキング区間に挿入されている。
【０００７】
しかしながら、ＭＰＥＧ規格では、入力ビデオデータの中において、実際に画素が存在するアクティブビデオエリアのみを符号化しなければいけないと規定されている。つまり、符号化ストリームは、入力ビデオデータのアクティブエリアのみを符号化処理したデータであって、その符号化ストリームにはブランキング期間に重畳されていたアンシラリーデーは含まれていないのである。言いかえると、ＭＰＥＧエンコーダ２によって入力ビデオデータの符号化処理を行うことによって、入力ビデオデータに重畳されていたアンシラリーデータが無くなってしまうということである。
【０００８】
ＭＰＥＧデコーダ３は、ＭＰＥＧエンコーダから符号化ストリームを受け取り、この符号化ストリームをデコードして復号化ビデオデータを生成する。復号化ビデオデータは、第２のビデオプロセッサ４に供給される。このＭＰＥＧデコーダ３に供給された符号化ストリーム中には、アンシラリーデータに関する情報が含まれていないので、当然ながら、この復号化ビデオデータにもアンシラリーデータに関する情報が含まれていない。
【０００９】
つまり、送出側システムから受信側システムにビデオデータを伝送する途中において、ＭＰＥＧエンコード処理及びＭＰＥＧデコード処理を行った場合には、送出側である第１のビデオプロセッサ１から受信側である第２のビデオプロセッサ４には、アクティブエリアに相当するビデオデータは伝送することはできるが、第１のビデオプロセッサにおいてビデオデータのブランキング期間に付加したアンシラリーデータは伝送されなという問題が発生する。
【００１０】
さらに言うと、送出側システムから受信側システムにビデオデータを伝送する途中において、ＭＰＥＧエンコード処理及びＭＰＥＧデコード処理を行った場合には、アクティブエリアのビデオデータしか伝送されないということは、ソースビデオデータが有している固有の情報も受信側システムに伝送されないという問題もある。このソースビデオデータに係る固有の情報とは、ソースビデオデータそのものが持っている情報であって、例えば、全画素エリアに対するブランキングエリアの位置又はアクティブビデオエリアの位置などである。具体的には、ソースビデオデータの全画素エリアの垂直方向において何ライン目からアクティブビデオのラインが始まり、全画素エリアの水平方向において何ピクセル目からアクティブビデオエリアが始まるのかを示す情報である。
【００１１】
次に、図２を参照して、３−２プルダウン処理が行われたビデオデータに関する処理ついて説明する。図２は、２４Hzのフレーム周波数を有するビデオデータと３０Hzのフレーム周波数を有するビデオデータの両方のビデオデータに関する処理を行う場合の、放送局内及び又は放送局間におけるビデオプロセッシングシステムの一例を示している。
【００１２】
３−２プルダウン処理回路５は、２４Ｈｚ（毎秒２４コマ）のフレームレートのビデオデータを受け取って、３０Ｈｚ（毎秒３０コマ）のフレームレートのビデオデータを生成するための回路である。映画等において使用されているフィルム素材は、劇場用として、２４Ｈｚ（毎秒２４コマ）のフレームレートで光学フィルム上に記録された素材であって、２９．９７Ｈｚのフレームレートを有するＮＴＳＣ方式のテレビジョン信号とはフレームレートが全く異なっている。従って、フィルム素材をテレビジョン信号に変換するために、２４コマから３０フレームを生成する処理が行われている。
【００１３】
図３Ａ及び図３Ｂを参照して、この３−２プルダウン処理について説明する。図３Ａは、２４Ｈｚのフレームレートのソースビデオデータを表し、図３Ｂは、３−２プルダウン処理によって３０Ｈｚのフレームレートに変換されたビデオデータを表している。図３Ａ及び図３Ｂに示すように、３−２プルダウン処理においては、フィールドＦ１のトップフィールドｔ１をリピートすることによってリピートフィールドｔ１´を作成し、フレームＦ３のボトムフィールドｂ３をリピートすることによってリピートフィールドｂ３´を生成する。つまり、３−２プルダウン処理は、２個のフィールドを、所定のシーケンスで３個のフィールドに変換することによって、２４Ｈｚのビデオデータを３０Ｈｚのビデオデータに変換する処理なのである。
【００１４】
第１のビデオプロセッサ１は、図１において説明したように、３０Ｈｚのソースビデオデータを受け取り、そのソースビデオデータに対して、編集処理、特殊効果処理、合成処理などを行うための装置である。さらには、このビデオプロセッサ１は、クローズドキャプションやテレテキストデータ等の補助データ（アンシラリーデータ）を受け取り、そのアンシラリーデータをソースビデオデータのブランキング期間に付加する処理も行う。アンシラリーデータを付加する処理は、３０Ｈｚのフレーム周波数を有するビデオデータに対して行われる処理であるので、３０Ｈｚのフレーム周波数を有するビデオデータに含まれる全フィールド対して、アンシラリーデータが付加される。つまり、トップフィールドｔ１、ｔ２、……及びボトムフィールドｂ１、ｂ２、……だけに、アンシラリーデータが付加されるのではなくて、リピートフィールドｔ１´及びリピートフィールドｂ３´にもアンシラリーデータが付加されるのである。
【００１５】
逆３−２プルダウン処理回路６は、上述した３−２プルダウン処理により得られた３０Ｈｚのフレームレートのビデオデータを受け取って、２４Ｈｚのフレームレートのビデオデータを生成するための回路である。具体的には、逆３−２プルダウン処理回路７は、図３Ｃに示すように、逆３−２プルダウン処理によって挿入されたリピートフィールドｔ１´及びｂ３´を除去するための回路である。この、逆３−２プルダウン処理回路７は、ＭＰＥＧエンコード処理を行う前に行われなければいけない処理である。なぜなら、このリピートフィールドは、３−２プルダウン処理によって挿入された冗長なフィールドであって、削除したとしても何ら画質劣化が発生しないからである。
【００１６】
ＭＰＥＧエンコーダ２は、図１において説明したＭＰＥＧエンコーダ２と同じであって、逆プルダウン処理回路６から２４Ｈｚのビデオデータを受け取り、そのビデオデータをエンコードすることによって符号化ストリームを生成する。
【００１７】
しかしながら、ＭＰＥＧ規格では、入力ビデオデータの中において、実際に画素が存在するアクティブビデオエリアのみを符号化しなければいけないと規定されている。つまり、符号化ストリームは、入力ビデオデータのアクティブエリアのみを符号化処理したデータであって、その符号化ストリームにはブランキング期間に重畳されていたアンシラリーデーは含まれていないのである。言いかえると、ＭＰＥＧエンコーダ２によって入力ビデオデータの符号化処理を行うことによって、入力ビデオデータに重畳されていたアンシラリーデータが無くなってしまうということである。
【００１８】
ＭＰＥＧデコーダ３は、図１において説明したＭＰＥＧデコーダ３と同じであって、ＭＰＥＧエンコーダから符号化ストリームを受け取り、この符号化ストリームをデコードして復号化ビデオデータを生成する。尚、ＭＰＥＧ規格においては、符号化ストリーム中には、フレーム構造を表すデータとして、Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄ及びＴｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔというフラグが設定さてれおり、ＭＰＥＧデコーダはこのフラグに基づいてデコード処理を行うので、復号化ビデオデータは３０Ｈｚのフレームレートを有したビデオデータである。
【００１９】
以上の説明から理解できるように、送信側システムのプロセッサにおいて、３０Ｈｚのフレームレートを有するビデオデータにアンシラリーデータを付加したとしても、ＭＰＥＧエンコード処理のために必要な処理である逆３−２プルダウン処理を行うと、３０Ｈｚのフレームレートを有するビデオデータからリピートフィールドが除去されてしまう。つまり、そのリピートフィールドに付加したアンシラリーデータまでも除去されてしまうということである。従って、送出側システムから受信側システムにビデオデータを伝送する途中において、逆３−２プルダウン処理を行った場合には、その逆３−２プルダウン処理によってリピートフィールドそのものが除去されてしまうので、送出側である第１のビデオプロセッサ１から受信側である第２のビデオプロセッサ４には、そのリピートフィールドに付加したアンシラリーデータに関する情報が伝送されないという問題が発生する。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は、入力ビデオデータを符号化するためのエンコーディングシステム及び符号化ストリームをデコードするためのデコーディングシステムに関する。具体的には、ＭＰＥＧエンコーディング処理及びＭＰＥＧデコーディング処理を繰り返したとしても、ビデオデータに付加されているアンシラリーデータやビデオデータ固有の情報が無くならないように、符号化ストリームと一緒に伝送するためのシステム及び方法を提供するものである。
【００２１】
ＭＰＥＧエンコーダは、その入力ビデオデータに付加されているのアンシラリーデータを抽出し、抽出したアンシラリーデータを符号化ストリーム中に Ａｎ−ｃｉｌｌａｒｙ＿ｄａｔａ（  ）として挿入することによって、符号化ストリームと一緒にこのアンシラリーデータを伝送する。  ＭＰＥＧデコーダは、符号化ストリームからアンシラリーデータを抽出し、ＭＰＥＧデコーディング処理によって生成されたベースバンドビデオデータに抽出したアンシラリーデータを付加する。
【００２２】
入力ビデオデータをエンコードするためのエンコーディング装置において、入力ビデオデータから、ビデオデータのブランキング期間に付加されているアンシラリーデータを抽出し、入力ビデオデータをエンコードし、符号化ストリームを生成し、符号化ストリーム中に上記アンシラリーデータが挿入されるように、上記符号化手段をコントロールする。
【００２３】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング装置において、符号化ストリームから、符号化ストリーム中に含まれていアンシラリーデータを抽出し、符号化ストリームをデコードし、復号化ビデオデータを生成し、復号化ビデオデータのブランキング期間に、アンシラリーデータを多重化する。
【００２４】
入力ビデオデータを符号化することによって生成された符号化ストリームをデコードするためのデコーディング装置において、符号化ストリームのシンタックスを解析することによって、符号化ストリーム中に含まれていアンシラリーデータを得、符号化ストリームをデコードし、復号化ビデオデータを生成し、入力ビデオデータと符号化ビデオデータとが同じアンシラリーデータを有するように、復号化ビデオデータにアンシラリーデータを多重化する。
【００２５】
入力ビデオデータを符号化することによって生成された符号化ストリームをデコードするためのデコーディング装置において、符号化ストリームのピクチャエリアに含まれていアンシラリーデータを、符号化ストリームから得、符号化ストリームをデコードし、復号化ビデオデータを生成し、復号化ビデオデータとアンシラリーデータとを多重化することによって、入力ビデオデータを同じデータを生成する。
【００２６】
入力ビデオデータを符号化するエンコーディング手段と、符号化手段によって符号化された符号化ストリームを受け取って、符号化ストリームを復号化し復号化ビデオデータを生成するデコーディング手段とを備えたコーディングシステムにおいて、エンコーディング手段は、符号化ストリームを生成するために上記入力ビデオデータを符号化する手段と、入力ビデオデータに付与されているアンシラリーデータを符号化ストリーム中に挿入する手段とを備え、デコーディング手段は、復号化ビデオデータを生成するために符号化ストリームを復号化する手段と、符号化ストリームと共に伝送されてきたアンシラリーデータを、復号化ビデオデータに多重化する手段とを備える。
【発明を実施するための最良の形態】
【００２７】
図４は、メイン放送局１４１及び地方放送局１７１からなる放送システムを表している図である。
【００２８】
メイン放送局１４１には、複数のエディティング／プロセッシングスタジオ１４５Ａ〜１４５Ｄ、複数のＭＰＥＧエンコーダ１４２Ａ〜１４２D と、複数のＭＰＥＧデコーダ１４４Ａ〜１４４Ｄと、少なくとも１つのマルチプレクサ１６２Ａと少なくとも１つのデマルチプセクサ１６１Ａとを備えている。また、この放送局内１４１には、ＳＭＰＴＥ３０５Ｍとして定義されているＳＤＴＩ−ＣＰ（Ｓｅｒｉａｌ  Ｄａｔａ  ＴｒａｎｓｆｅｒＩｎｔｅｒｆａｃｅ−Ｃｏｎｔｅｎｔ  Ｐａｃｋａｇｅ）ネットワーク１５０を備え、各ＭＰＥＧエンコーダ、各ＭＰＥＧデコーダ、マルチプレクサ１６２Ａ及びデマルチプレクサ１６１Ａが、ＳＤＴＩ−ＣＰネットワーク１５０を介してエレメンタリーストリームを送受信するすることができる。ＳＤＴＩ−ＣＰは、ＭＰＥＧのエレメンタリーストリームを伝送するために提案された通信フォーマットであって、ＳＭＰＴＥ３０５Ｍとして定義されている。尚、このＳＤＴＩ−ＣＰネットワーク１５０上に転送されたエレメンタリーストリームは、ＥＳ＿ｏｖｅｒ＿ＳＤＴＩ−ＣＰと表現されている。
【００２９】
エディティング／プロセッシングスタジオ１４５Ａ〜１４５Ｄは、ビデオサーバー、ビデオ編集機、特殊効果装置及びビデオスイッチャなどを備えているスタジオである。ＭＰＥＧデコーダから復号化されたべーバンドのビデオデータを受け取り、そのベースバンドのビデオデータに対して、編集や画像処理を行ったあと、編集ビデオデータ又は画像処理ビデオデータを、ＭＰＥＧエンコーダに出力する。すなわち、エディティング／プロセッシングスタジオ１４５Ａ〜１４５Ｄは、符号化ストリームのストリームプロセッシングではなく、ベースバンドビデオ信号の編集や画像処理を行うためのプロセッシングユニットでる。
【００３０】
ＭＰＥＧエンコーダ１４２Ａ〜１４２Ｄは、エディティング／プロセッシングスタジオ１４５Ａ〜１４５Ｄからベースバンドの入力ビデオ信号を受け取り、その入力ビデオデータを、前述したＭＰＥＧ規格に従ってエンコードし、エレメンタリーストリーム（ＥＳ）を生成するための装置である。ＭＰＥＧエンコーダによって生成されたエレメンタリーストリームは、ＳＤＴＩ−ＣＰネットワーク１５０を介して、ＭＰＥＧデコーダ１４４Ａ〜１４４ＤのうちのいずれかのＭＰＥＧデコーダ又はマルチプレクサ１６２Ａに供給される。
【００３１】
ＭＰＥＧデコーダ１４４Ａ〜１４４Ｄは、ＭＰＥＧエンコーダ１４２Ａ〜１４２Ｄ又はデマルチプレクサ１６１Ａから、ＳＤＴＩ−ＣＰネットワーク１５０を介して供給されたエレメンタリーストリームを受け取り、ＭＰＥＧ規格に基づいてデコード処理を行う。マルチプレクサ１６２Ａは、メイン放送局内１４１において制作された複数のビデオプログラムを地方局１７１又は各家庭に配信するために、多重化することによって一つのトランスポートストリームを生成するための回路である。具体的には、ＳＤＴＩ−ＣＰネットワーク１５０を介して複数のビデオプログラムに対応する複数のエレメンタリーストリーム受けとり、各エレメンタリーストリームをパケット化することによってパケッタイズドエレメンタリーストリームを生成し、そのパケッタイズドエレメンタリーストリームからトランスポートストリームパケットを生成する。複数のビデオプログラムから生成されたトランスポートストリームパケットを多重化することによって、マルチプレクサ１６２Ａは多重化されたトランスポートストリームを生成する。尚、このマルチプレクサ１６２Ａの構成及び処理については、後述する。
【００３２】
複数のビデオプログラムの伝送先が地方局１７１の場合には、マルチプレクサ１６２Ａによって生成された多重化トランスポートストリームは、地方局１７１のデマルチプレクサ１６１ＢにＡＴＭや衛星回線などのネットワークを介して供給される。地方局１７１は、規模こそメイン局１４１と異なるが、全く同じシステム構成を有しているので、詳細については説明を省略する。
【００３３】
複数のビデオプログラムの伝送先が地方局１７１の場合には、マルチプレクサ１６２Ａによって生成された多重化トランスポートストリームは、各家庭のセットトップボックス内に設けられているＭＰＥＧデコーダ１７０Ａに、ＡＴＭや衛星回線などのネットワークを介して供給され、デコードされたビデオデータがＴＶセットに供給される。
【００３４】
図５は、放送局内においてＳＤＴＩ−ＣＰネットワークを介して伝送されるエレメンタリーストリームと、公衆ネットワークを介しで伝送されるトランスポートストリームとの違いを表している。
【００３５】
放送局内においては、エレメンタリーストリームは、ＳＤＴＩ−ＣＰネットワークを使用して伝送される。このＳＤＴＩ−ＣＰネットワーク１５０は、ＳＭＰＴＥ２５９Ｍによって規格化されているＳＤＩ（Ｓｅｒｉａｌ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）をベースとした２７０Ｍｂｐｓの伝送速度を可能にしている通信フォーマットであって、ＭＰＥＧ方式のエレメンタリストリーム（ＥＳ）をそのまま伝送することが可能であり、スタジオ内のような閉じたネットワークに適している。具体的には、図５Ａに示すように、ビデオデータのフレーム単位で、ビデオデータ「Ｖ」とオーディオデータ「Ａ」がパッキングされており、フレームシンク（点線）により区切られたフレーム境界で、簡単に編集を行うことができる。
【００３６】
放送局間の伝送や公衆ネットワークを使用する際には、トランスポートストリームの形態でビデオデータが伝送される。トランスポートストリームは、伝送容量の少ない公衆ネットワークにおいてもデータ転送を可能にするために、図５Ｂに示すように、ビデオデータやオーディオなどのすべてのコンテンツは、１８８バイトの単位にパッキングされて伝送される。同様に、「Ｖ」はビデオデータのトランスポートストリームパケットと示し、「Ａ」はオーディオデータのトランスポートストリームパケットを示し、空白は空きデータのパケットを示している。
【００３７】
次に、図６を参照して、ＭＰＥＧエンコーダ１４２Ａ〜１４２Ｄについて説明する。
【００３８】
まず最初に、このＭＰＥＧエンコーダに供給される入力ビデオデータについて補足する。この実施例においては、この入力ビデオデータは、２４Ｈｚのフレームレートを有していたソースビデオデータに対して、３−２プルダウン処理を行うことによって生成された３０Ｈｚのビデオデータである。具体的には、２４Hzのフレームレートを有したオリジナルのソースビデオデータは、各フレームＦ１、Ｆ２、……がそれぞれ２つのフィールド（トップフィールドｔ１、ｔ２、……及びボトムフィールドｂ１、ｂ２、……）から構成されいるビデオデータであって、３−２プルダウン処理では、図７A に示すように、トップフィールドファーストである第１のフレームＦ１ではトップフィールドｔ１を繰り返してリピートフィールドｔ１´を生成することにより３フィールドで１つのフレームを構成し、また、ボトムフィールドファーストである第３のフレームＦ３ではボトムフィールドｂ３を繰り返してリピートフィールドｂ３´を生成する。このようにして、３−２プルダウン処理では、３フィールド構成のフレームと２フィールド構成のフレームを交互に繰り返すことにより、フレームレートが２４Ｈｚのソースビデオデータから、図７Ａのようなフレームレートが３０Ｈｚのビデオデータを生成することができる。
【００３９】
尚、この実施例では、入力ビデオデータが、３−２プルダウン処理によって生成された入力ビデオデータの例を示しているが、本発明は、入力ビデオデータが３−２プルダウンされたビデオデータの実施例に限られるものではなく、オリジナルソースビデオが３０Ｈｚのフレームレートを有するビデオデータであって、３−２プルダウン処理が施されていないビデオデータの場合であっても問題無く適用できるものである。
【００４０】
図６に示されたＭＰＥＧエンコーダは、補助データ分離回路１０１、フィールドカウンタ１０２、逆３−２プルダウン回路１０３、エンコーディングコントローラー１０４、動きベクトル検出回路１０５、スイッチ回路１１１、ＤＣＴ回路１１２、量子化回路１１３、逆量子化回路１１４、逆ＤＣＴ回路１１５、加算回路１１６、メモリ１１７及び１１８、動き補償回路１１９、演算回路１２０、１２１、１２２、可変長符号化回路１２５及び送信バッファ１２６を備えている。
【００４１】
補助データ分離回路１０１は、入力ビデオデータのブランキング期間から、アンシラリーデータを抽出する回路である。具体的には、図８に示したように、入力ビデオデータの垂直ブランキング期間に挿入されているアンシラリーデータと、そのアンシラリーデータが挿入されているライン番号を抽出する。このアンシラリーデータとしては、テレテキストデータ、クローズドキャプションデータ、ＳＭＰＴＥ  ＲＰ１６４において定義されているＶＩＴＣ（Ｖｅｒｔｉｃａｌ  Ｉｎｔｅｒｖａｌ  Ｔｉｍｅ  Ｃｏｄｅ）やＲＰ１９６において定義されているＬＴＣ（Ｌｉｎｅａｒ  Ｔｉｍｅ  Ｃｏｄｅ）等であるが、これのみに限定する必要はない。本実施例においては、抽出したアンシラリーデータに関する情報は、Ａｎｃｉｌｌａｒｙ＿ｄａｔａとしてコントローラ１０４に供給されるとともに、ライン番号に関する情報は、Ｌｉｎｅ＿ｎｕｍｂｅｒとしてコントローラ１０４に供給される。また、ＶＩＴＣに関する情報は、Ｔｉｍｅ＿ｃｏｄｅ＿１としてコントローラ１０４に供給され、ＬＴＣに関する情報は、Ｔｉｍｅ＿ｃｏｄｅ＿２としてコントローラ１０４に供給される。
【００４２】
また、補助データ分離回路１０１は、入力ビデオデータが有する固有情報を入力ビデオデータから抽出する。この固有情報とは、例えば、図８に示したように、入力ビデオデータの全画素エリアＡＲ１に対するアクティブビデオエリアＡＲ２が存在する位置を示すデータであり、具体的には、アクティブビデオエリアの垂直方向の開始位置を示すライン数及び水平方向の開始位置を示すサンプル数などである。本実施例においては、アクティブビデオエリアの垂直方向の位置に関する情報は、Ｖ−ｐｈａｓｅ  アクティブビデオエリアの水平方向の位置に関する情報は、Ｈ−ｐｈａｓｅ  としてコントローラ１０４に供給される。その他の固有情報の例としては、入力ビデオデータに付与されたソース名称、撮影場所、撮影時間などである。
【００４３】
補助データ分離部１０１から出力された入力ビデオデータは、続くフィールドカウンタ１０２に供給される。フィールドカウンタ１０２は、入力ビデオデータの各フレームを構成するフィールドを各フレームごとにカウントする回路である。フィールドカウンタ１０２は、そのフレ−ム毎のカウント情報を、Ｆｉｅｌｄ＿ＩＤとしてコントローラ１０４に供給する。たとえは、図７Ａに示したような入力ビデオデータがこのフィールドカウンタ１０２に供給された場合には、フレームＦ１には３つのフィールドが存在するので、カウント情報として、「０」、「１」及び「２」のＦｉｅｌｄ＿ＩＤが出力され、フレームＦ２には２つのフィールドが存在するので、カウント情報として、「０」及び「１」のＦｉｅｌｄ＿ＩＤが出力される。
【００４４】
さらに、このフィールドカウンタ１０２は、入力ビデオデータのフィールドをカウントすることによってカウントアップされる２つのカウンタを備え、このカウンタによるカウント値に関する情報をＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒとしてコントローラ１０４に出力する。ＰＥＳヘッダを生成するときに、ＰＴＳ＿ｃｏｕｎｔｅｒ  はプレゼンテーションタイムスタンプ（ＰＴＳ）を生成するための情報として使用され、ＤＴＳ＿ｃｏｕｎｔｅｒはデコーディングタイムスタンプ（ＤＴＳ）を生成するための情報として使用される。
【００４５】
このＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒについて、図９を参照して詳細に説明する。図９は、入力ビデオデータの各フレームのフレーム構造と、各フレームにおけるＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒの関係を示している図である。図９について詳細に説明する前に、Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄ及びＴｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔフラグについて補足しておく。Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄのフラグの”１”は、ＭＰＥＧデコード時に、リピートフィールドを作成する必要があることを意味し、Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄのフラグの”０”は、ＭＰＥＧデコード時に、リピートフィールドを作成する必要がないことを意味する。Ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔのフラグは、フレームを構成するフィールドのうち、最初のフィールドがトップフィールドであるのか、またはボトムフィールドであるのかを表している。Ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔフラグの”１”は、トップフィールドがボトムフィールドより時間的に早いフレーム構造であることを表しており、Ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔフラグの”０”は、ボトムフィールドがトップフィールドより時間的に早いフレーム構造であることを表している。図９Ａは、図７Ａにおいて説明した入力ビデオデータに関するフレーム構造について説明するための図である。具体的には、最初のフレームＦ１をデコードする際に、単純にトップフィールドとボトムフィールドからなるフレームを生成するのではなく、トップフィールドをコピーしてリピートフィールドを作成することで、３フィールドからなるフレームを生成する必要がある。従って、対応するＲｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄのフラグは”１”となり、Ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔのフラグは”１”となる。
【００４６】
フレームＦ２のデコード処理においては、リピートフィールドを生成する必要がないので、Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄのフラグは”０”とされ、ボトムフィールドがトップフィールドより時間的に早いフレームであるため、Ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔのフラグは”０”とされる。
【００４７】
フレームＦ３のデコード処理においては、そのボトムフィールドをコピーしてリピートフィールドが作成され、符号化フレームが３フィールドに変換されなければいけない。従って、Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄのフラグは”１”とされ、Ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔのフラグは”０”とされる。フレームＦ４のデコード処理において、リピートフィールドが作成する必要はないので、Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄのフラグは”０”とされ、Ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔのフラグは１とされる。さて、上述したように、ＰＴＳ＿ｃｏｕｎｔｅｒはＰＴＳの基になるタイムスタンプ情報であるので、入力ビデオデータのフレーム順と一致している情報でなければいけない。具体的には、このＰＴＳ＿ｃｏｕｎｔｅｒは、０から１２７まで増加した後、再び０に戻るカウント動作を行うカウンターによって生成される値である。従って、カウンタＰＴＳ＿ｃｏｕｎｔｅｒの値は、図９Ｂに示すように変化する。具体的に説明すると、入力ビデオデータにおいて、最初のフレームＦ１はＩピクチャであり、最初に表示しなければいけないピクチャであるので、ＰＴＳ＿ｃｏｕｎｔｅｒの値は”０”である。２番目のフレームＦ２のＰＴＳ＿ｃｏｕｎｔｅｒの値は、フレームＦ１のＰＴＳ＿ｃｏｕｎｔｅｒの値”０”に、フレームＦ１に含まれているフィールド数“３”を加算した値”３”（＝０＋３）となる。３番目のフレームＦ３のＰＴＳ＿ｃｏｕｎｔｅｒの値は、フレームＦ２のＰＴＳ＿ｃｏｕｎｔｅｒの値”３”に、フレームＦ２に含まれているフィールド数“２”を加算した値”５”（＝３＋２）となる。４番目のフレームＦ４のＰＴＳ＿ｃｏｕｎｔｅｒの値は、フレームＦ３のＰＴＳ＿ｃｏｕｎｔｅｒの値”５”に、フレームＦ２に含まれているフィールド数“３”を加算した値”８”（＝５＋３）となる。フレームＦ５以降のＰＴＳ＿ｃｏｕｎｔｅｒの値も同様に算出される。さらに、ＤＴＳ＿ｃｏｕｎｔｅｒは、ＤＴＳの基になるタイムスタンプ情報であるので、入力ビデオデータのフレーム順では無くて、符号化ストリーム中のピクチャ順と一致する情報でなければいけない。
【００４８】
図９Ｃを参照して、具体的に説明すると、最初のフレームＦ１は、Ｉピクチャであるので、フレームＦ１が表示される表示タイミングよりフレームＦ１がデコードされるタイミングが１フレーム分だけ早くなくてはいけない。すなわち、フレームＦ１の前のフレームＦ０は２つのフィールドから構成されているため、 ＤＴＳ＿ｃｏｕｎｔｅｒの値は、表示タイムスタンプＰＴＳ＿ｃｏｕｎｔｅｒ＝０を基準時間としたとき、基準時間“０”より“３”フィールド分だけ前の値”１２５”となる。尚、ＤＴＳ＿ｃｏｕｎｔｅｒは２７（＝１２８）のモジュロで表されるため、その値は０から１２７の間の値を循環する。
【００４９】
フレームＦ１の次に符号化されるフレームＦ４のＤＴＳ＿ｃｏｕｎｔｅｒの値は、フレームＦ１のＤＴＳ＿ｃｏｕｎｔｅｒの値“１２５”に、フレームＦ１のフィールド数“３”を加えた値“０”（＝１２８＝１２５＋３）となる。次に符号化されるフレームＦ２はＢピクチャであるため、ＤＴＳ＿ｃｏｕｎｔｅｒの値は、ＰＴＳ＿ｃｏｕｎｔｅｒと同じ値になり、その値は”３”となる。同様に、次に符号化されるフレームＦ３もＢピクチャであるので、ＤＴＳ＿ｃｏｕｎｔｅｒの値は、ＰＴＳ＿ｃｏｕｎｔｅｒの値と同一とされ、その値は”５”とされる。以下、フレームＦ７以降のＤＴＳ＿ｃｏｕｎｔｅｒの値も、同様に算出されるので、ここでは、その説明を省略する。フィールドカウンター１０２は、上述した決まりに従って、ＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒを生成し、コントローラ１０４に供給する。
【００５０】
逆３−２プルダウン回路１０３は、フィールドカウンタ１０２から出力されたビデオデータを受け取り、逆３−２プルダウン処理を行う。この逆３−２プルダウン処理回路１０３は、図７Ａに示すような３−２プルダウン処理により得られた３０Ｈｚのフレームレートのビデオデータを受け取って、２４Ｈｚのフレームレートのビデオデータを生成するための回路である。具体的には、逆３−２プルダウン処理回路７は、図７Ｂに示すように、３−２プルダウン処理によって挿入されたリピートフィールドｔ１´及びｂ３´を除去することによって、３０Ｈｚのフレームレートのビデオデータを、２４Ｈｚのフレームレートのビデオデータに変換する。逆プルダウン処理回路１０３は、リピートフィールドを除去する際に、供給されたビデオデータのフレーム構造を解析し、所定間隔で出現するリピートフィールドであると認定したフィールドのみを除去するようにしている。よって、逆プルダウン処理回路１０３は、ビデオデータのフレーム構造を解析したときに、フレーム構造を表す情報として、Ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄとＴｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔのフラグを生成し、コントローラ１０４に供給する。
【００５１】
動きベクトル検出回路１０５は、逆３−２プルダウン処理回路１０３から出力されたビデオデータを、マクロブロック単位で受け取り、予め設定されている所定のシーケンスに従って、各フレームの画像データを、Ｉピクチャ、Ｐピクチャ、又はＢピクチャとして処理する。シーケンシャルに入力される各フレームの画像を、Ｉ、Ｐ又はＢのいずれのピクチャとして処理するかは、オペレータによって指定されるＧＯＰ構造に基づいて予め定められている。検出された動きベクトルＭＶは、コントローラ１０４及び動き補償回路１１９に供給される。スイッチ回路１１１は、画像内予測モードが設定されたとき、スイッチを接点ａに切り換える。従って、このマクロブロックデータは、Ｉピクチャのデータと同様に、ＤＣＴ回路１１２、量子化回路１１３、可変長符号化回路１２５及び送信バッファ１２６を介して伝送路に伝送される。また、この量子化データは、逆量子化回路１１４、逆ＤＣＴ回路１１５、及び演算器１１６を介しての後方予測画像用のフレームメモリ１１７に供給される。また、前方予測モードが設定された場合、スイッチ１１１が接点ｂに切り換えられると共に、前方予測画像用のフレームメモリ１１８に記憶されている画像データ（この場合Ｉピクチャの画像データ）が読み出され、動き補償回路１１９により、動きベクトル検出回路１０５から供給されている動きベクトルＭＶに基づいて動き補償が行われる。すなわち、動き補償回路１１９は、前方予測モードの設定が指令されたとき、前方予測画像用のメモリ１１８の読出しアドレスを、動きベクトル検出回路１０５が、現在出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。動き補償回路１１９より出力された予測画像データは、演算器１２０に供給される。演算器１２０は、参照画像のマクロブロックのデータから、動き補償回路１１９より供給された、このマクロブロックに対応する予測画像データを減算し、その差分（予測誤差）を出力する。この差分データは、ＤＣＴ回路１１２、量子化回路１１３、可変長符号化回路１２５及び送信バッファ１２６を介して伝送路に伝送される。また、この差分データは、逆量子化回路１１４、及びＩＤＣＴ回路１１５により局所的に復号され、演算器１１６に入力される。この演算器１１６にはまた、演算器１２０に供給されている予測画像データと同一のデータが供給されている。演算器１１６は、ＩＤＣＴ回路１１５が出力する差分データに、動き補償回路１１９が出力する予測画像データを加算する。これにより、元の（復号した）Ｐピクチャの画像データが得られる。このＰピクチャの画像データは、フレームメモリの後方予測画像部１１７に供給されて記憶される。動きベクトル検出回路１０５は、このように、ＩピクチャとＰピクチャのデータが前方予測画像部１１８と後方予測画像部１１７にそれぞれ記憶された後、次にＢピクチャの処理を実行する。画像内予測モード又は前方予測モードの時、スイッチ１１１は接点ａ又はｂに切り換えられる。このとき、Ｐピクチャにおける場合と同様の処理が行われ、データが伝送される。これに対して、後方予測モード又は両方向予測モードが設定されたとき、スイッチ１１１は接点ｃ又はｄにそれぞれ切り換えられる。スイッチ１１１が接点ｃに切り換えられている後方予測モードのとき、後方予測画像部１１７に記憶されている画像（現在の場合、Ｐピクチャの画像）データが読み出され、動き補償回路１１９により、動きベクトル検出回路１０５が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路１１９は、後方予測モードの設定が指定されたとき、後方予測画像部１１７の読み出しアドレスを、動きベクトル１０５が、現在出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。動き補償回路１１９より出力された予測画像データは、演算器１２１に供給される。演算器１２１は、参照画像のマクロブロックのデータから、動き補償回路１１９より供給された予測画像データを減算し、その差分を出力する。この差分データは、ＤＣＴ回路１１２、量子化回路１１３、可変長符号化回路１２５及び送信バッファ１２６を介して伝送路に伝送される。スイッチ１１１が接点ｄに切り換えられている両方向予測モードのとき、前方予測画像部１１８に記憶されている画像（現在の場合、Ｉピクチャの画像）データと、後方予測画像部１１７に記憶されている画像（現在の場合、Ｐピクチャの画像）データが読み出され、動き補償回路１１９により、動きベクトル検出回路１０５が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路１１９は、両方向予測モードの設定が指定されたとき、前方予測画像部１１８と後方予測画像部１１７の読み出しアドレスを、動きベクトル検出回路１０５がいま出力しているマクロブロックの位置に対応する位置から動きベクトル（この場合の動きベクトルは、前方予測画像用と後方予測画像用の２つとなる）に対応する分だけずらしてデータを読み出し、予測画像データを生成する。動き補償回路１１９より出力された予測画像データは、演算器１２２に供給される。演算器１２２は、動きベクトル検出回路１０５より供給された参照画像のマクロブロックのデータから、動き補償回路１１９より供給された予測画像データの平均値を減算し、その差分を出力する。この差分データは、ＤＣＴ回路１１２、量子化回路１１３、可変長符号化回路１２５及び送信バッファ１２６を介して伝送路に伝送される。
【００５２】
Ｂピチクャの画像は、他の画像の予測画像とされることがないため、フレームメモリ１１７、１１８には記憶されない。コントローラ１０４は、上述した予測モードに関する処理、ＤＣＴモードに関する処理及び量子化に関する処理に携わる全ての回路をコントロールする。さらには、コントローラ１０４は、各ピクチャのエンコーディング処理において発生した、動きベクトル、ピクチャタイプ、予測モード、ＤＣＴモード、量子化ステップなどの全てのコーディングパラメータを、可変長符号化回路１２５に供給する。
【００５３】
また、コントローラ１０４は、補助データ分離回路１０１から、Ｖ−ｐｈａｓｅ、Ｈ−ｐｈａｓｅ、Ｔｉｍｅ＿ｃｏｄｅ１、Ｔｉｍｅ＿ｃｏｄｅ２、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ及びＬｉｎｅ＿ｎｕｍｂｅｒに関する情報を受け取ると共に、フィールドカウンタ１０２からＤＴＳ＿ｃｏｕｎｔｅｒＰＴＳ＿ｃｏｕｎｔｅｒ及びＦｉｅｌｄ＿ＩＤに関する情報を受け取る。コントローラ１０４は、受け取った、Ｖ−ｐｈａｓｅ、Ｈ−ｐｈａｓｅ、Ｔｉｍｅ＿ｃｏｄｅ１、Ｔｉｍｅ＿ｃｏｄｅ２、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ、Ｌｉｎｅ＿ｎｕｍｂｅｒ、ＤＴＳ＿ｃｏｕｎｔｅｒＰＴＳ＿ｃｏｕｎｔｅｒ及びＦｉｅｌｄ＿ＩＤに関する情報を、ＭＰＥＧ＿ＥＳ＿ｅｄｉｔｉｎｇ＿ｉｎｆｏｒｍａｔｉｏｎ（ｉ）として可変長符号化回路１２５に供給する。
【００５４】
可変長符号化回路１２５は、量子化回路１１３から量子化されたＤＣＴ係数及びコントローラ１０４から供給されたコーディングパラメータを可変長符号化すると共に、ＭＰＥＧ規格において定められているエレメンタリーストリームのシンタックスに従って、符号化ストリームを生成する。
【００５５】
実施例の特徴ある点として、さらに、可変長符号化回路１２５は、コントローラ１０４からＭＰＥＧ＿ＥＳ＿ｅｄｉｔｉｎｇ＿ｉｎｆｏｒｍａｔｉｏｎ（ｉ）として供給された情報を可変長符号化し、符号化ストリーム中に挿入する処理を行う。符号化ストリームのシンタックス及びＭＰＥＧ＿ＥＳ＿ｅｄｉｔｉｎｇ＿ｉｎｆｏｒｍａｔｉｏｎ（ｉ）のシンタックスについては、詳しくは後述する。
【００５６】
次に、図１０乃至図２６を参照してビットストリームのシンタックスについて説明する。尚、図２６は、図１０から図２５において説明している詳細なシンタックスを、より理解しやすい形式でＭＰＥＧ符号化ストリームのデータ構造を示している説明図である。図１０は、ＭＰＥＧのビデオストリームのシンタックスを表わした図である。ＭＰＥＧエンコーダ４２は、この図１０に示されたシンタックスに従った符号化エレメンタリストリームを生成する。以下に説明するシンタックスにおいて、関数や条件文は細活字で表わされ、データエレメントは、太活字で表されている。データ項目は、その名称、ビット長およびそのタイプ・伝送順序を示すニーモニック（Ｍｎｅｍｏｎｉｃ）で記述されている。
【００５７】
まず、この図１０に示されているシンタックスにおいて使用されている関数について説明する。実際には、この図１０に示されているシンタックスは、ＭＰＥＧデコーダ４４側において、伝送されてきた符号化ビットストリームから所定の意味のあるデータエレメントを抽出するために使用されるシンタックスである。ＭＰＥＧエンコーダ４２側において使用されるシンタックスは、図１０に示されたシンタックスからif文やｗｈｉｌｅ文等の条件文を省略したシンタックスである。
【００５８】
ｖｉｄｅｏ＿ｓｅｑｕｅｎｃｅ（）において最初に記述されているｎｅｘｔ＿ｓｔａｒｔ＿ｃｏｄｅ（）は、ビットストリーム中に記述されているスタートコードを探すための関数である。この図１０に示されたシンタックスに従って生成された符号化ストリームには、まず最初に、ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）とｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）によって定義されたデータエレメントが記述されている。このｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）は、ＭＰＥＧビットストリームのシーケンスレイヤのヘッダデータを定義するための関数であって、ｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）は、ＭＰＥＧビットストリームのシーケンスレイヤの拡張データを定義するための関数である。ｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）の次に配置されているｄｏ｛    ｝ｗｈｉｌｅ構文は、ｗｈｉｌｅ文によって定義されている条件が真である間、ｄｏ文の｛    ｝内の関数に基いて記述されたデータエレメントが符号化データストリーム中に記述されていることを示す構文である。このｗｈｉｌｅ文に使用されているｎｅｘｔｂｉｔｓ（）は、ビットストリーム中に記述されているビット又はビット列と、参照されるデータエレメントとを比較するための関数である。この図１０に示されたシンタックスの例では、ｎｅｘｔｂｉｔｓ（）は、ビットストリーム中のビット列とビデオシーケンスの終わりを示すｓｅｑｕｅｎｃｅ＿ｅｎｄ＿ｃｏｄｅとを比較し、ビットストリーム中のビット列とｓｅｑｕｅｎｃｅ＿ｅｎｄ＿ｃｏｄｅとが一致しないときに、このｗｈｉｌｅ文の条件が真となる。従って、ｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）の次に配置されているｄｏ｛    ｝ｗｈｉｌｅ構文は、ビットストリーム中に、ビデオシーケンスの終わりを示すｓｅｑｕｅｎｃｅ＿ｅｎｄ＿ｃｏｄｅが現れない間、ｄｏ文中の関数によって定義されたデータエレメントが符号化ビットストリーム中に記述されていることを示している。符号化ビットストリームにおいて、ｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）によって定義された各データエレメントの次には、ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）によって定義されたデータエレメントが記述されている。このｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）は、ＭＰＥＧビットストリームのシーケンスレイヤにおける拡張データとユーザデータを定義するための関数である。このｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）の次に配置されているｄｏ｛    ｝ｗｈｉｌｅ構文は、ｗｈｉｌｅ文によって定義されている条件が真である間、ｄｏ文の｛    ｝内の関数に基いて記述されたデータエレメントが、ビットストリームに記述されていることを示す関数である。このｗｈｉｌｅ文において使用されているｎｅｘｔｂｉｔｓ（）は、ビットストリーム中に現れるビット又はビット列と、ｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅ又はｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅとの一致を判断するための関数であるって、ビットストリーム中に現れるビット又はビット列と、ｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅ又はｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅとが一致する場合には、ｗｈｉｌｅ文によって定義された条件が真となる。よ���て、このｄｏ｛  ｝ｗｈｉｌｅ構文は、符号化ビットストリーム中において、ｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅ又はｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅが現れた場合には、そのスタートコードの次に、ｄｏ文中の関数によって定義されたデータエレメントのコードが記述されていることを示している。このｄｏ文の最初に記述されているｉｆ文は、符号化ビットストリーム中にｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅが現れた場合、という条件を示しいる。このｉｆ文による条件は真である場合には、符号化ビットストリーム中には、このｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅの次にｇｒｏｕｐ＿ｏｆ＿ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）およびｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（１）によって定義されているデータエレメントが順に記述されている。このｇｒｏｕｐ＿ｏｆ＿ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）は、ＭＰＥＧ符号化ビットストリームのＧＯＰレイヤのヘッダデータを定義するための関数であって、ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（１）は、ＭＰＥＧ符号化ビットストリームのＧＯＰレイヤの拡張データおよびユーザデータを定義するための関数である。さらに、この符号化ビットストリームにおいて、ｇｒｏｕｐ＿ｏｆ＿ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）およびｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（１）によって定義されているデータエレメントの次には、ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）とｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｅｘｔｅｎｓｉｏｎ（）によって定義されたデータエレメントが記述されている。もちろん、先に説明したｉｆ文の条件が真とならない場合には、ｇｒｏｕｐ＿ｏｆ＿ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）およびｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（１）によって定義されているデータエレメントは記述されていないので、ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）によって定義されているデータエレメントの次に、ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）、ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｅｘｔｅｎｓｉｏｎ（）およびｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（２）によって定義されたデータエレメントが記述されている。このｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）は、ＭＰＥＧ符号化ビットストリームのピクチャレイヤのヘッダデータを定義するための関数であって、ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｅｘｔｅｎｓｉｏｎ（）は、ＭＰＥＧ符号化ビットストリームのピクチャレイヤの第１の拡張データを定義するための関数である。ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（２）は、ＭＰＥＧ符号化ビットストリームのピクチャレイヤの拡張データおよびユーザデータを定義するための関数である。このｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（２）によって定義されるユーザデータは、ピクチャレイヤに記述されているデータであって、各ピクチャ毎に記述することのできるデータである。符号化ビットストリームにおいて、ピクチャレイヤのユーザデータの次には、ｐｉｃｔｕｒｅ＿ｄａｔａ（）によって定義されるデータエレメントが記述されている。このｐｉｃｔｕｒｅ＿ｄａｔａ（）は、スライスレイヤおよびマクロブロックレイヤに関するデータエレメント��記述するための関数である。このｐｉｃｔｕｒｅ＿ｄａｔａ（）の次に記述されているｗｈｉｌｅ文は、このｗｈｉｌｅ文によって定義されている条件が真である間、次のｉｆ文の条件判断を行うための関数である。このｗｈｉｌｅ文において使用されているｎｅｘｔｂｉｔｓ（）は、符号化ビットストリーム中に、ｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅ又はｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅが記述されているか否かを判断するための関数であって、ビットストリーム中にｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅ又はｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅが記述されている場合には、このｗｈｉｌｅ文によって定義された条件が真となる。
【００５９】
次のｉｆ文は、符号化ビットストリーム中にｓｅｑｕｅｎｃｅ＿ｅｎｄ＿ｃｏｄｅが記述されているか否かを判断するための条件文であって、ｓｅｑｕｅｎｃｅ＿ｅｎｄ＿ｃｏｄｅが記述されていないのであれば、ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）とｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）とによって定義されたデータエレメントが記述されていることを示している。ｓｅｑｕｅｎｃｅ＿ｅｎｄ＿ｃｏｄｅは符号化ビデオストリームのシーケンスの終わりを示すコードであるので、符号化ストリームが終了しない限り、符号化ストリーム中にはｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）とｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）とによって定義されたデータエレメントが記述されている。このｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）とｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）によって記述されたデータエレメントは、ビデオストリームのシーケンスの先頭に記述されたｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）とｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）によって記述されたデータエレメントと全く同じである。このように同じデータをストリーム中に記述する理由は、ビットストリーム受信装置側でデータストリームの途中（例えばピクチャレイヤに対応するビットストリーム部分）から受信が開始された場合に、シーケンスレイヤのデータを受信できなくなり、ストリームをデコード出来なくなることを防止するためである。この最後のｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）とｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）とによって定義されたデータエレメントの次、つまり、データストリームの最後には、シーケンスの終わりを示す２ビットのｓｅｑｕｅｎｃｅ＿ｅｎｄ＿ｃｏｄｅが記述されている。以下に、ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）、ｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）、ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）、ｇｒｏｕｐ＿ｏｆ＿ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）、ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）、ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｅｘｔｅｎｓｉｏｎ（）、およびｐｉｃｔｕｒｅ＿ｄａｔａ（）について詳細に説明する。図１１は、ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）のシンタックスを説明するための図である。このｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ（）によって定義されたデータエレメントは、ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ＿ｃｏｄｅ、ｈｏｒｉｚｏｎｔａｌ＿ｓｉｚｅ＿ｖａｌｕｅ、ｖｅｒｔｉｃａｌ＿ｓｉｚｅ＿ｖａｌｕｅ、ａｓｐｅｃｔ＿ｒａｔｉｏ＿ｉｎｆｏｒｍａｔｉｏｎ、ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅ、ｂｉｔ＿ｒａｔｅ＿ｖａｌｕｅ、ｍａｒｋｅｒ＿ｂｉｔ、ｖｂｖ＿ｂｕｆｆｅｒ＿ｓｉｚｅ＿ｖａｌｕｅ、ｃｏｎｓｔｒａｉｎｅｄ＿ｐａｒａｍｅｔｅｒ＿ｆｌａｇ、ｌｏａｄ＿ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ、ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ［６４］、ｌｏａｄ＿ｎｏｎ＿ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ、およびｎｏｎ＿ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ等である。ｓｅｑｕｅｎｃｅ＿ｈｅａｄｅｒ＿ｃｏｄｅは、シーケンスレイヤのスタート同期コードを表すデータである。ｈｏｒｉｚｏｎｔａｌ＿ｓｉｚｅ＿ｖａｌｕｅは、画像の水平方向の画素数の下位１２ビットから成るデータである。ｖｅｒｔｉｃａｌ＿ｓｉｚｅ＿ｖａｌｕｅは、画像の縦のライン数の下位１２ビットからなるデータである。ａｓｐｅｃｔ＿ｒａｔｉｏ＿ｉｎｆｏｒｍａｔｉｏｎは、画素のアスペクト比（縦横比）または表示画面アスペクト比を表すデータである。ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅは、画像の表示周期を表すデータである。ｂｉｔ＿ｒａｔｅ＿ｖａｌｕｅは、発生ビット量に対する制限のためのビット・レートの下位１８ビット（４００ｂｓｐ単位で切り上げる）データである。ｍａｒｋｅｒ＿ｂｉｔは、スタートコードエミュレーションを防止するために挿入されるビットデータである。ｖｂｖ＿ｂｕｆｆｅｒ＿ｓｉｚｅ＿ｖａｌｕｅは、発生符号量制御用の仮想バッファ（ビデオバッファベリファイヤー）の大きさを決める値の下位１０ビットデータである。ｃｏｎｓｔｒａｉｎｅｄ＿ｐａｒａｍｅｔｅｒ＿ｆｌａｇは、各パラメータが制限以内であることを示すデータである。ｌｏａｄ＿ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘは、イントラＭＢ用量子化マトリックス・データの存在を示すデータである。ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘ［６４］は、イントラＭＢ用量子化マトリックスの値を示すデータである。ｌｏａｄ＿ｎｏｎ＿ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘは、非イントラＭＢ用量子化マトリックス・データの存在を示すデータである。ｎｏｎ＿ｉｎｔｒａ＿ｑｕａｎｔｉｚｅｒ＿ｍａｔｒｉｘは、非イントラＭＢ用量子化マトリックスの値を表すデータである。
【００６０】
図１２はｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）のシンタックスを説明するための図である。このｓｅｑｕｅｎｃｅ＿ｅｘｔｅｎｓｉｏｎ（）によって定義されたデータエレメントとは、ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅ、ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅ＿ｉｄｅｎｔｉｆｉｅｒ、ｐｒｏｆｉｌｅ＿ａｎｄ＿ｌｅｖｅｌ＿ｉｎｄｉｃａｔｉｏｎ、ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｅｑｕｅｎｃｅ、ｃｈｒｏｍａ＿ｆｏｒｍａｔ、ｈｏｒｉｚｏｎｔａｌ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎ、ｖｅｒｔｉｃａｌ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎ、ｂｉｔ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ、ｖｂｖ＿ｂｕｆｆｅｒ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎ、ｌｏｗ＿ｄｅｌａｙ、ｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｎ、およびｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｄ等のデータエレメントである。
【００６１】
ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅは、エクステンションデータのスタート同期コードを表すデータである。ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅ＿ｉｄｅｎｔｉｆｉｅｒは、どの拡張データが送られるかを示すデータである。ｐｒｏｆｉｌｅ＿ａｎｄ＿ｌｅｖｅｌ＿ｉｎｄｉｃａｔｉｏｎは、ビデオデータのプロファイルとレベルを指定するためのデータである。ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｅｑｕｅｎｃｅは、ビデオデータが順次走査であることを示すデータである。ｃｈｒｏｍａ＿ｆｏｒｍａｔは、ビデオデータの色差フォーマットを指定するためのデータである。ｈｏｒｉｚｏｎｔａｌ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎは、シーケンスヘッダのｈｏｒｉｚｎｔａｌ＿ｓｉｚｅ＿ｖａｌｕｅに加える上位２ビットのデータである。ｖｅｒｔｉｃａｌ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎは、シーケンスヘッダのｖｅｒｔｉｃａｌ＿ｓｉｚｅ＿ｖａｌｕｅ加える上位２ビットのデータである。ｂｉｔ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎは、シーケンスヘッダのｂｉｔ＿ｒａｔｅ＿ｖａｌｕｅに加える上位１２ビットのデータである。ｖｂｖ＿ｂｕｆｆｅｒ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎは、シーケンスヘッダのｖｂｖ＿ｂｕｆｆｅｒ＿ｓｉｚｅ＿ｖａｌｕｅに加える上位８ビットのデータである。ｌｏｗ＿ｄｅｌａｙは、Ｂピクチャを含まないことを示すデータである。ｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｎは、シーケンスヘッダのｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅと組み合わせてフレームレートを得るためのデータである。ｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｄは、シーケンスヘッダのｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅと組み合わせてフレームレートを得るためのデータである。図１３は、ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（ｉ）のシンタックスを説明するための図である。このｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（ｉ）は、「ｉ」が１以外のときは、ｅｘｔｅｎｓｉｏｎ＿ｄａｔａ（）によって定義されるデータエレメントは記述せずに、ｕｓｅｒ＿ｄａｔａ（）によって定義されるデータエレメントのみを記述する。よって、ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）は、ｕｓｅｒ＿ｄａｔａ（）によって定義されるデータエレメントのみを記述する。まず、図１３に示されているシンタックスにおいて使用されている関数について説明する。ｎｅｘｔｂｉｔｓ（）は、ビットストリーム中に現れるビットまたはビット列と、次に復号されるデータエレメントとを比較するための関数である。図１４のｕｓｅｒ＿ｄａｔａ（）は、本実施例の特徴のあつ点を説明している図である。図１４に示すように、ｕｓｅｒ＿ｄａｔａ（）は、ｕｓｅｒ＿ｄａｔａ＿ｓｔａｒｔ＿ｃｏｄｅ，Ｖ−ｐｈａｓｅ（），Ｈ−ｐｈａｓｅ（），Ｔｉｍｅ＿ｃｏｄｅ（），Ｐｉｃｔｕｒｅ＿ｏｒｄｅｒ（），Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（），ｈｉｓｔｏｒｙ＿ｄａｔａ（），およびｕｓｅｒ＿ｄａｔａ（）に関するデータエレメントを記述するための関数である。ｕｓｅｒ＿ｄａｔａ＿ｓｔａｒｔ＿ｃｏｄｅは、ＭＰＥＧ方式のビットストリームのピクチャレイヤのユーザデータエリアの開始を示すためのスタートコードである。このｕｓｅｒ＿ｄａｔａ＿ｓｔａｒｔ＿ｃｏｄｅの次に記述されているｉｆ文は、ｕｓｅｒ＿ｄａｔａ（ｉ）のｉが”０”のとき、次に記述されているｗｈｉｌｅ構文を実行する。このｗｈｉｌｅ構文は、ビットストリーム中に、２３個の”０”とそれに続く”１”から構成される２４ビットのデータが現れない限り真となる。この２３個の”０”とそれに続く”１”から構成される２４ビットのデータは、すべてのスタートコードの先頭に付与されるデータであって、すべてのスタートコードは、この２４ビットの後ろに設けられることによって、ｎｅｘｔｂｉｔｓ（）は、ビットストリーム中において、各スタートコードの位置を見つけることができる。ｗｈｉｌｅ構文が真のとき、ｕｓｅｒ＿ｄａｔａ（ｉ）のｉが”０”のときをしめしているので、これはシーケンスレイヤのｅｘｔｎｔｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）を示すことになる。つまり、図２６において、シーケンスレイヤにおいて、ｅｘｔｎｔｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）２０５に関するデータエレメントが記述されていることを示している。その次に記述されているｉｆ文のｎｅｘｔｂｉｔｓ（）は、Ｖ−Ｐｈａｓｅを示すビット列（Ｄａｔａ＿ＩＤ）を検出すると、そのビット列（Ｄａｔａ＿ＩＤ）の次ビットからＶ−Ｐｈａｓｅ（）で示されるＶ−Ｐｈａｓｅのデータエレメントが記述されていることを知る。次のＥｌｓｅｉｆ文のｎｅｘｔｂｉｔｓ（）は、Ｈ−Ｐｈａｓｅを示すビット列（Ｄａｔａ＿ＩＤ）を検出すると、そのビット列（Ｄａｔａ＿ＩＤ）の次ビットからＨ−Ｐｈａｓｅ（）で示されるＨ−Ｐｈａｓｅのデータエレメントが記述されていることを知る。
【００６２】
つまり、図２６に示したようにＶ−Ｐｈａｓｅ（）２２０及びＨ−Ｐｈａｓｅ（）２２１に関するデータエレメントは、シーケンスレイヤのユーザデータエリアに記述されているということを意味する。ここで、図１５に示すように、Ｖ−ＰｈａｓｅのＤａｔａ＿ＩＤは、”０１”を表すビット列であり、Ｈ−ＰｈａｓｅのＤａｔａ＿ＩＤは、”０２”を表すビット列である。ビットストリームに記述されるＶ−Ｐｈａｓｅ（）のシンタックスについて、図１６を参照して説明する。まず、Ｄａｔａ＿ＩＤは、前述したように、そのＤａｔａ＿ＩＤの次のビット列のデータエレメントがＶ−Ｐｈａｓｅであることを表す８ビットのデータであり、図１５で示した値”０１”である。Ｖ−Ｐｈａｓｅは、画像信号のフレームにおいて、符号化される最初のラインを示す１６ビットのデータである。言いかえると、Ｖ−Ｐｈａｓｅは、アクティブビデオエリアの垂直方向のライン位置を示すデータである。
【００６３】
ビットストリームに記述されるＨ−Ｐｈａｓｅ（）のシンタックスについて、図１７を参照して説明する。まず、Ｄａｔａ＿ＩＤは、前述したように、そのＤａｔａ＿ＩＤの次のビット列のデータエレメントがＨ−Ｐｈａｓｅであることを表す８ビットのデータであり、図１５で示した値”０２”である。Ｈ−Ｐｈａｓｅは、画像信号フレームにおいて、符号化される最初のサンプルを示す８ビットのデータである。言いかえると、Ｈ−Ｐｈａｓｅは、アクティブビデオエリアの水平方向の画素サンプル位置を示すデータである。
【００６４】
図１４に戻って、次のＥｌｓｅ  ｉｆ文は、ｅｘｔｎｔｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（ｉ）のｉが２のとき、次に記述されているｗｈｉｌｅ構文を実行する。ｗｈｉｌｅ構文の内容は前述した場合と同様であるので、ここではその説明を省略する。ｗｈｉｌｅ構文が真のとき、次のｉｆ文において、ｎｅｘｔｂｉｔｓ（）は、Ｔｉｍｅ  ｃｏｄｅ１を示すビット列を検出するか、または、Ｔｉｍｅ  ｃｏｄｅ２を示すビット列を検出すると、そのビット列の次ビットからＴｉｍｅ＿ｃｏｄｅ（）で示されるＴｉｍｅ  ｃｏｄｅのデータエレメントが記述されていることを知る。つまり、ｅｘｔｎｔｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（ｉ）のｉが２のときとは、このユーザデータがピクチャレイヤにあることを意味し、つまり、図２６に示すように、このＴｉｍｅ＿ｃｏｄｅ（）２４１によって表されるデータエレメントは、ピクチャレイヤのユーザーで＾タエリアに記述されているデータであるということである。
【００６５】
Ｔｉｍｅ  ｃｏｄｅ１のＤａｔａ＿ＩＤは、図１５に示すように、”０３”を表すビット列であり、Ｔｉｍｅ  ｃｏｄｅ１のデータは、画像の垂直ブランキング期間に挿入されたタイムコードを示す、ＶＩＴＣ（Ｖｅｒｔｉｃａｌ  Ｉｎｔｅｒｖａｌ  Ｔｉｍｅ  Ｃｏｄｅ）である。Ｔｉｍｅ  ｃｏｄｅ２のＤａｔａ＿ＩＤは、図１５に示すように、”０４”を表すビット列であり、Ｔｉｍｅｃｏｄｅ２のデータは、記録媒体のタイムコードトラックに記録されたタイムコードを示す、ＬＴＣ（Ｌｏｎｇｉｔｕｄｉｎａｌ  Ｔｉｍｅ  Ｃｏｄｅ又はＬｉｎｅａｒ  Ｔｉｍｅ  Ｃｏｄｅ）である。
【００６６】
図１８及び図１９は、Ｔｉｍｅｃｏｄｅ（）のシンタックスを示している図である。図１８に示されているように、タイムコードは、７２ビットのデータで表されており、図１９具体的なデータ構造を示している
【００６７】
図１９において、ｃｏｌｏｒ＿ｆｒａｍｅ＿ｆｌａｇは、カラーフレーム情報に関するコントロールフラグを表わし、次のＤｒｏｐ＿ｆｒａｍｅ＿ｆｌａｇは、ドロップフレームに関するコントロールフラグを表わしている。次の３ビット目から８ビット目までの６ビットは、タイムコードの‘フレーム’の部分を表わし、ｆｉｅｌｄ＿ｐｈａｓｅは、フェイズコレクションに関するコントロールフラグを表わし、１０ビット目から１６ビット目までの７ビットは、タイムコードの‘秒’の部分を表わしている。１７ビット目、３４ビット目、５１ビット目及び６８ビット目の‘１’は、前述したように０が２３個連続しないようにするためのマーカービットであって、このように所定間隔でマーカービットを挿入することによって、スタートコードエミュレーションを防止することができる。
【００６８】
１８ビット目、２６ビット目及び２７ビット目のｂｉｎａｒｙ＿ｇｒｏｕｐは、バイナリグループに関するコントロールフラグを表わし、１９ビット目から２５ビット目の７ビットは、タイムコードの‘分’の部分を表わし、２８ビット目から３３ビット目の６ビットは、タイムコードの‘時’の部分を表わしている。
【００６９】
図１４のＥｌｓｅｉｆ文において、ｎｅｘｔｂｉｔｓ（）は、Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒを示すビット列を検出すると、そのビット列の次ビットからＰｉｃｔｕｒｅ＿Ｏｒｄｅｒ（）で示されるＰｉｃｔｕｒｅ＿Ｏｒｄｅｒのデータエレメントが記述されていることを知る。ここで、Ｐｉｃｔｕｒｅ＿Ｏｒｄｅｒ（）のＤａｔａ＿ＩＤは、図１５に示すように、”０５”を表すビット列である。実際に、エンコーダでエレメンタリストリーム（ＥＳ）に挿入するＰｉｃｔｕｒｅ＿Ｏｒｄｅｒ（）のシンタックスを、図２０を参照して説明する。まず、Ｄａｔａ＿ＩＤは前述したように、そのＤａｔａ＿ＩＤ以降のデータがＰｉｃｔｕｒｅ＿Ｏｒｄｅｒのデータであることを示す８ビットのデータであり、その値は”０５”である。ＤＴＳ＿ｐｒｅｓｅｎｃｅは、符号化順序ＤＴＳ＿ｃｏｕｎｔｅｒの有無を表す１ビットのデータである。例えば、ＢピクチャのようにＤＴＳ＿ｃｏｕｎｔｅｒ＝ＰＴＳ＿ｃｏｕｎｔｅｒとなる場合、表示順序ＰＴＳ＿ｃｏｕｎｔｅｒのみが存在し、ＤＴＳ＿ｐｒｅｓｅｎｃｅのビットは”０”となる。逆に、ＰピクチャおよびＩピクチャの場合、符号化順序ＤＴＳ＿ｃｏｕｎｔｅｒと表示順序ＰＴＳ＿ｃｏｕｎｔｅｒは同一ではないので、表示順序ＰＴＳ＿ｃｏｕｎｔｅｒと符号化順序ＤＴＳ＿ｃｏｕｎｔｅｒの双方が存在し、ＤＴＳ＿ｐｒｅｓｅｎｃｅのビットは１となる。尚、Ｐｉｃｔｕｒｅ＿Ｏｒｄｅｒ（）に関するデータエレメントは、図２６に示したように、Ｔｉｍｅ＿Ｃｏｄｅ（）と同じように、ピクチャレイヤのユーザーデータエリアに記述されている。ＰＴＳ＿ｃｏｕｎｔｅｒは、前述したように、ＭＰＥＧエンコーダ内のフィールドカウンタ１０２によって生成される値であって、入力ビデオデータにおいて１フィールドが入力されるごとにカウントアップを行う、表示順序を表す７ビットのデータである。この７ビットのデータは、０から１２７までの値をとるモジュロである。ｉｆ文以降は、ＤＴＳ＿ｐｒｅｓｅｎｃｅのビットが１のとき、すなわち、ＰピクチャおよびＩピクチャのとき、ＤＴＳ＿ｃｏｕｎｔｅｒのカウントアップが実行される。Ｍａｒｋｅｒ＿ｂｉｔｓは、ｕｓｅｒ  ｄａｔａの記述されたビット列が、偶然に前述したスタートコードと一致し、画像破錠を引き起こす可能正が高い、スタートコードエミュレーションを防止するために、１６ビットごとに挿入されるビットである。ＤＴＳ＿ｃｏｕｎｔｅｒは、ＭＰＥＧエンコーダ内のフィールドカウンタ１０２によって生成される値で、１フィールド分の符号化画像データが符号化されるごとにカウントアップを行う、符号化順序を表す７ビットのデータである。この７ビットのデータは、０から１２７までの値をとるモジュロである。図１４に戻って、その次に記述されているｗｈｉｌｅ構文も、内容は前述した場合と同様であるので、ここではその説明を省略する。ｗｈｉｌｅ構文が真のとき、次のｉｆ文において、ｎｅｘｔｂｉｔｓ（）は、Ａｎｃｉｌｌａｒｙｄａｔａを示すビット列を検出すると、そのビット列の次ビットからＡｎｃｉｌｌａｒｙ＿ｄａｔａ（）で示されるＡｎｃｉｌｌａｒｙ  ｄａｔａのデータエレメントが記述されていることを知る。Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（）のＤａｔａ＿ＩＤは、図１５に示すように、”０７”を表すビット列である。尚、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（）に関するデータエレメントは、図２６に示したように、Ｐｉｃｔｕｒｅ＿Ｏｒｄｅｒ（）やＴｉｍｅ＿Ｃｏｄｅ（）と同じように、ピクチャレイヤのユーザーデータエリアに記述されている。この補助データに識別子を付加するａｎｃｉｌｌａｒｙ  ｄａｔａのシンタックスを図２１を参照して説明する。Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（）はピクチャレイヤのｕｓｅｒ  ｄａｔａとして挿入され、データとしてはＦｉｅｌｄ識別子（Ｆｉｅｌｄ＿ＩＤ）、ラインの番号（Ｌｉｎｅ＿ｎｕｍｂｅｒ）およびアンシラリーデータ（ａｎｃｉｌｌａｒｙ  ｄａｔａ）が挿入される。Ｄａｔａ＿ＩＤは、ｕｓｅｒ  ｄａｔａ領域において、ａｎｃｉｌｌａｒｙ  ｄａｔａであることを示す８ビットのデータであり、その値は図１５に示したように”０７”である。Ｆｉｅｌｄ＿ＩＤは２ビットのデータであり、入力ビデオデータがプログレッシブビデオであるか否かを示すフラグであるｐｒｏｇｒｅｓｓｉｖｅ＿ｓｅｑｕｅｎｃｅ＿ｆｌａｇの値が”０”のとき、つまり、入力ビデオがインターレースのビデオデータであるとき、符号化フレーム内のフィールドごとにＦｉｅｌｄ＿ＩＤが付加される。
【００７０】
このＦｉｅｌｄ  ＿ＩＤについて、図７を参照して説明する。
【００７１】
ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄに”０”が設定されているとき、この符号化フレームにはフィールドが２枚存在し、Ｆｉｅｌｄ＿ＩＤは、最初のフィールドに”０”、およびその次のフィールドに”１”が設定される。ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄに”１”が設定されているとき、この符号化フレームにはフィールドが３枚存在し、Ｆｉｅｌｄ＿ＩＤとしては、最初のフィールドに”０”が設定され、それ以降のフィールドに”１”，”２”が設定される。図７Ｃを参照して、さらに詳しく説明する。図７Ｃの符号化ストリームは、図７Ｂに示される入力ビデオデータを符号化したときの、符号化ストリームに関する図である。この符号化ストリームは、複数のアクセスユニット（ＡＵ１、ＡＵ２．．．）からなるエレメンタリーストリームから構成されており、図７Ｃは、そのエレメンタリーストリーム中にアンシタリーデータとＦｉｅｌｄ＿ＩＤに関する情報が記述されていることを示している図である。
【００７２】
この符号化ストリームは、フレームＦ１に関しては、Ｆｉｅｌｄ＿ＩＤとして０、１及び２が設定されている。つまり、Ｆｉｅｌｄ＿ＩＤ＝０のときに、そのフィールドに関連するアンシラリーデータ「０」がストリーム中に記述され、Ｆｉｅｌｄ＿ＩＤ＝１のときに、そのフィールドに関連するアンシラリーデータ「１」がストリーム中に記述され、Ｆｉｅｌｄ＿ＩＤ＝２のときに、そのフィールドに関連するアンシラリーデータ「２」がストリーム中に記述される。つまり、フレームＦ１に関するピクチャにおいて、図２６に示すように、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（）２４３に関するデータエレメントは、フレームＦ１内のフィールド数だけ繰り返されることを意味している。
【００７３】
Ｆｉｅｌｄ＿ＩＤは、ｐｒｏｇｒｅｓｓｉｖｅ＿ｓｅｑｕｅｎｃｅ＿ｆｌａｇの値が”１”のとき、つまり入力ビデオデータが１であるとき、符号化フレームごとに付加される。Ｆｉｅｌｄ＿ＩＤには、ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄとＴｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔにともに”０”が設定されているとき、その符号化フレームは１枚のｐｒｏｇｒｅｓｓｉｖｅ  ｆｒａｍｅが存在するので、値”０”が設定され、ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄに値”１”およびＴｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔに値”０”が設定されているとき、その符号化フレームは２枚のｐｒｏｇｒｅｓｓｉｖｅ  ｆｒａｍｅが存在するので、値”０”，”１”が設定され、ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄとＴｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔにともに”１”が設定されているとき、その符号化フレームは３枚のｐｒｏｇｒｅｓｓｉｖｅ  ｆｒａｍｅが存在するので、値”０”乃至”２”が設定される。Ｌｉｎｅ＿ｎｕｍｂｅｒは、１４ビットのデータであり、各フレームにおけるアンシラリーデータが記述されている、ＩＴＵ−Ｒ  ＢＴ．６５６−３，ＳＭＰＴＥ２７４Ｍ，ＳＭＰＴＥ２９３Ｍ，ＳＭＰＴＥ２９６Ｍで規定されたライン番号を示す。Ａｎｃｉｌｌａｒｙ＿ｄａｔａ＿ｌｅｎｇｔｈは、１６ビットのデータであり、ａｎｃｉｌｌａｒｙ＿ｄａｔａ＿ｐａｙｌｏａｄのデータ長を示す。Ａｎｃｉｌｌａｒｙ＿ｄａｔａ＿ｐａｙｌｏａｄは、２２ビットのデータからなる補助データの内容を表しており、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ＿ｐａｙｌｏａｄのＡｎｃｉｌｌａｒｙ＿ｄａｔａ＿ｌｅｎｇｔｈの値がｊの値（初期値０）より大きいとき、値ｊ（Ａｎｃｉｌｌａｒｙ＿ｄａｔａ＿ｌｅｎｇｔｈのデータ長）を１だけインクリメントして、そのｊの値のビット列目から記述される。次のＷｈｉｌｅ構文は、ｂｙｔｅａｌｉｇｎｅｄ（）のためのシンタックスを表しており、次のデータがｂｙｔｅａｌｉｇｎｅｄ（）でないとき（Ｗｈｉｌｅ構文が真のとき）、Ｚｅｒｏ＿ｂｉｔ（１ビットのデータ”０”）を記述する。図１４に戻って、次のＥｌｓｅ  ｉｆ文において、ｎｅｘｔｂｉｔｓ（）は、Ｈｉｓｔｏｒｙ  ｄａｔａを示すビット列を検出すると、そのビット列の次ビットからＨｉｓｔｏｒｙ＿ｄａｔａ（）で示されるＨｉｓｔｏｒｙ  ｄａｔａのデータエレメントが記述されていることを知る。Ｈｉｓｔｏｒｙ＿ｄａｔａ（）のＤａｔａ＿ＩＤは、図１５に示すように、”０８”を表すビット列であり、Ｄａｔａ＿ＩＤが”０８”で示されるデータは、符号化パラメータの履歴情報を含むＨｉｓｔｏｒｙ  ｄａｔａを表している。このＨｉｓｔｏｒｙ＿ｄａｔａ（）については、ＵＳ特許出願０９／２６５７２３に詳しく説明されているので、ここでは省略する。最後のｉｆ文において、ｎｅｘｔｂｉｔｓ（）は、ｕｓｅｒ  ｄａｔａ  を示すビット列を検出すると、そのビット列の次ビットからｕｓｅｒ＿ｄａｔａ（）で示されるｕｓｅｒ＿ｄａｔａのデータエレメントが記述されていることを知る。図１４のｎｅｘｔｂｉｔｓ（）が、それぞれのデータエレメントが記述されていることを知るビット列は、図１５に示すＤａｔａ＿ＩＤとして記述されている。ただし、Ｄａｔａ＿ＩＤとして”００”を使用する���とは禁止されている。Ｄａｔａ＿ＩＤが”８０”で示されるデータは、制御フラグを表しており、Ｄａｔａ＿ＩＤが”ＦＦ”で示されるデータは、ｕｓｅｒ  ｄａｔａを表している。図２２は、ｇｒｏｕｐ＿ｏｆ＿ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）のシンタックスを説明するための図である。このｇｒｏｕｐ＿ｏｆ＿ｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）によって定義されたデータエレメントは、ｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅ、ｔｉｍｅ＿ｃｏｄｅ、ｃｌｏｓｅｄ＿ｇｏｐ、およびｂｒｏｋｅｎ＿ｌｉｎｋから構成される。ｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅは、ＧＯＰレイヤの開始同期コードを示すデータである。ｔｉｍｅ＿ｃｏｄｅは、ＧＯＰの先頭ピクチャのシーケンスの先頭からの時間を示すタイムコードである。ｃｌｏｓｅｄ＿ｇｏｐは、ＧＯＰ内の画像が他のＧＯＰから独立再生可能なことを示すフラグデータである。ｂｒｏｋｅｎ＿ｌｉｎｋは、編集などのためにＧＯＰ内の先頭のＢピクチャが正確に再生できないことを示すフラグデータである。
【００７４】
ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（１）は、ｅｘｔｅｎｓｉｏｎ＿ａｎｄ＿ｕｓｅｒ＿ｄａｔａ（０）と同じように、ｕｓｅｒ＿ｄａｔａ（）によって定義されるデータエレメントのみを記述するための関数である。次に、図２３乃至図２５を参照して、符号化ストリームのピクチャレイヤに関するデータエレメントを記述するためのｐｉｃｔｕｒｅ＿ｈｅａｄｅｒ（）、ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｅｘｔｅｎｓｉｏｎ（）、およびｐｉｃｔｕｒｅ＿ｄａｔａ（）について説明する。図２３はｐｉｃｔｕｒｅ＿ｈｅａｄｒ（）のシンタックスを説明するための図である。このｐｉｃｔｕｒｅ＿ｈｅａｄｒ（）によって定義されたデータエレメントは、ｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅ、ｔｅｍｐｏｒａｌ＿ｒｅｆｅｒｅｎｃｅ、ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｔｙｐｅ、ｖｂｖ＿ｄｅｌａｙ、ｆｕｌｌ＿ｐｅｌ＿ｆｏｒｗａｒｄ＿ｖｅｃｔｏｒ、ｆｏｒｗａｒｄ＿ｆ＿ｃｏｄｅ、ｆｕｌｌ＿ｐｅｌ＿ｂａｃｋｗａｒｄ＿ｖｅｃｔｏｒ、ｂａｃｋｗａｒｄ＿ｆ＿ｃｏｄｅ、ｅｘｔｒａ＿ｂｉｔ＿ｐｉｃｔｕｒｅ、およびｅｘｔｒａ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｐｉｃｔｕｒｅである。具体的には、ｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅは、ピクチャレイヤの開始同期コードを表すデータである。ｔｅｍｐｏｒａｌ＿ｒｅｆｅｒｅｎｃｅは、ピクチャの表示順を示す番号で、ＧＯＰの先頭でリセットされるデータである。ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｔｙｐｅは、ピクチャタイプを示すデータである。ｖｂｖ＿ｄｅｌａｙは、ＶＢＶバッファの初期状態を示すデータであって、各ピクチャ毎に設定されている。送信側システムから受信側システムに伝送された符号化エレメンタリストリームのピクチャは、受信側システムに設けられたＶＢＶバッファにバッファリングされ、ＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）によって指定された時刻に、このＶＢＶバッファから引き出され（読み出され）、デコーダに供給される。ｖｂｖ＿ｄｅｌａｙによって定義される時間は、復号化対象のピクチャがＶＢＶバッファにバッファリングされ始めてから、符号化対象のピクチャがＶＢＶバッファから引き出されるまでの時間、つまりＤＴＳによって指定された時刻までの時間を意味する。このピクチャヘッダに格納されたｖｂｖ＿ｄｅｌａｙを使用することによって、ＶＢＶバッファのデータ占有量が不連続にならないシームレスなスプライシングが実現できる。ｆｕｌｌ＿ｐｅｌ＿ｆｏｒｗａｒｄ＿ｖｅｃｔｏｒは、順方向動きベクトルの精度が整数単位か半画素単位かを示すデータである。ｆｏｒｗａｒｄ＿ｆ＿ｃｏｄｅは、順方向動きベクトル探索範囲を表すデータである。ｆｕｌｌ＿ｐｅｌ＿ｂａｃｋｗａｒｄ＿ｖｅｃｔｏｒは、逆方向動きベクトルの精度が整数単位か半画素単位かを示すデータである。ｂａｃｋｗａｒｄ＿ｆ＿ｃｏｄｅは、逆方向動きベクトル探索範囲を表すデータである。ｅｘｔｒａ＿ｂｉｔ＿ｐｉｃｔｕｒｅは、後続する追加情報の存在を示すフラグである。このｅｘｔｒａ＿ｂｉｔ＿ｐｉｃｔｕｒｅが「１」の場合には、次にｅｘｔｒａ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｐｉｃｔｕｒｅが存在し、ｅｘｔｒａ＿ｂｉｔ＿ｐｉｃｔｕｒｅが「０」の場合には、これに��くデータが無いことを示している。ｅｘｔｒａ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｐｉｃｔｕｒｅは、規格において予約された情報である。図２４は、ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｅｘｔｅｎｓｉｏｎ（）のシンタックスを説明するための図である。このｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｅｘｔｅｎｓｉｏｎ（）によって定義されたデータエレメントは、ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅ、ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅ＿ｉｄｅｎｔｉｆｉｅｒ、ｆ＿ｃｏｄｅ［０］［０］、ｆ＿ｃｏｄｅ［０］［１］、ｆ＿ｃｏｄｅ［１］［０］、ｆ＿ｃｏｄｅ［１］［１］、ｉｎｔｒａ＿ｄｃ＿ｐｒｅｃｉｓｉｏｎ、ｐｉｃｔｕｒｅ＿ｓｔｒｕｃｔｕｒｅ、ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔ、ｆｒａｍｅ＿ｐｒｅｄｉｃｔｉｖｅ＿ｆｒａｍｅ＿ｄｃｔ、ｃｏｎｃｅａｌｍｅｎｔ＿ｍｏｔｉｏｎ＿ｖｅｃｔｏｒｓ、ｑ＿ｓｃａｌｅ＿ｔｙｐｅ、ｉｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔ、ａｌｔｅｒｎａｔｅ＿ｓｃａｎ、ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄ、ｃｈｒｏｍａ＿４２０＿ｔｙｐｅ、ｐｒｏｇｒｅｓｓｉｖｅ＿ｆｒａｍｅ、ｃｏｍｐｏｓｉｔｅ＿ｄｉｓｐｌａｙ＿ｆｌａｇ、ｖ＿ａｘｉｓ、ｆｉｅｌｄ＿ｓｅｑｕｅｎｃｅ、ｓｕｂ＿ｃａｒｒｉｅｒ、ｂｕｒｓｔ＿ａｍｐｌｉｔｕｄｅ、およびｓｕｂ＿ｃａｒｒｉｅｒ＿ｐｈａｓｅから構成される。
【００７５】
ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅは、ピクチャレイヤのエクステンションデータのスタートを示す開始コードである。ｅｘｔｅｎｓｉｏｎ＿ｓｔａｒｔ＿ｃｏｄｅ＿ｉｄｅｎｔｉｆｉｅｒは、どの拡張データが送られるかを示すコードである。ｆ＿ｃｏｄｅ［０］［０］は、フォアード方向の水平動きベクトル探索範囲を表すデータである。ｆ＿ｃｏｄｅ［０］［１］は、フォアード方向の垂直動きベクトル探索範囲を表すデータである。ｆ＿ｃｏｄｅ［１］［０］は、バックワード方向の水平動きベクトル探索範囲を表すデータである。ｆ＿ｃｏｄｅ［１］［１］は、バックワード方向の垂直動きベクトル探索範囲を表すデータである。ｉｎｔｒａ＿ｄｃ＿ｐｒｅｃｉｓｉｏｎは、ＤＣ係数の精度を表すデータである。ｐｉｃｔｕｒｅ  ＿ｓｔｒｕｃｔｕｒｅは、フレームストラクチャかフィールドストラクチャかを示すデータである。これは、フィールドストラクチャの場合は、上位フィールドか下位フィールドかもあわせて示す。ｔｏｐ＿ｆｉｅｌｄ＿ｆｉｒｓｔは、フレームストラクチャの場合、最初のフィールドがトップフィールドであるのか、ボトムフィールドであるのかを示すフラグである。ｆｒａｍｅ＿ｐｒｅｄｉｃｔｉｖｅ＿ｆｒａｍｅ＿ｄｃｔは、フレーム・ストラクチャの場合、フレーム・モードＤＣＴの予測がフレーム・モードだけであることを示すデータである。ｃｏｎｃｅａｌｍｅｎｔ＿ｍｏｔｉｏｎ＿ｖｅｃｔｏｒｓは、イントラマクロブロックに伝送エラーを隠蔽するための動きベクトルがついていることを示すデータである。ｑ＿ｓｃａｌｅ＿ｔｙｐｅは、線形量子化スケールを利用するか、非線形量子化スケールを利用するかを示すデータである。ｉｎｔｒａ＿ｖｌｃ＿ｆｏｒｍａｔは、イントラマクロブロックに、別の２次元ＶＬＣ（可変長符号）を使うかどうかを示すデータである。ａｌｔｅｒｎａｔｅ＿ｓｃａｎは、ジグザグスキャンを使うか、オルタネート・スキャンを使うかの選択を表すデータである。ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄは、復号化時にリピートフィールドを生成するか否かを示すフラグであって、復号化時の処理において、ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄが「１」の場合にはリピートフィールドを生成し、ｒｅｐｅａｔ＿ｆｉｒｓｔ＿ｆｉｅｌｄが「０」の場合にはリピートフィールドを生成しないという処理が行われる。ｃｈｒｏｍａ＿４２０＿ｔｙｐｅは、信号フォーマットが４：２：０の場合、次のｐｒｏｇｒｅｓｓｉｖｅ＿ｆｒａｍｅと同じ値、そうでない場合は０を表すデータである。ｐｒｏｇｒｅｓｓｉｖｅ＿ｆｒａｍｅは、そのピクチャが、順次走査できているかどうかを示すデータである。ｃｏｍｐｏｓｉｔｅ＿ｄｉｓｐｌａｙ＿ｆｌａｇは、ソース信号がコンポジット信号であったかどうかを示すデータである。ｖ＿ａｘｉｓは、ソース信号が、ＰＡＬの場合に使われるデータである。ｆｉｅｌｄ＿ｓｅｑｕｅｎｃｅは、ソース信号が、ＰＡＬの場合に使われるデータである。ｓｕｂ＿ｃａｒｒｉｅｒは、ソース信号が、ＰＡＬの場合に使われるデータである。ｂｕｒｓｔ＿ａｍｐｌｉｔｕｄｅは、ソース信号が、ＰＡＬの場合に使われるデータである。ｓｕｂ＿ｃａｒｒｉｅｒ＿ｐｈａｓｅは、ソース信号が、ＰＡＬ���場合に使われるデータである。図２５は、ｐｉｃｔｕｒｅ＿ｄａｔａ（）のシンタックスを説明するための図である。このｐｉｃｔｕｒｅ＿ｄａｔａ（）によって定義されるデータエレメントは、ｓｌｉｃｅ（）によって定義されるデータエレメントである。但し、ビットストリーム中に、ｓｌｉｃｅ（）のスタートコードを示すｓｌｉｃｅ＿ｓｔａｒｔ＿ｃｏｄｅが存在しない場合には、このｓｌｉｃｅ（）によって定義されるデータエレメントはビットストリーム中に記述されていない。
【００７６】
ｓｌｉｃｅ（）は、スライスレイヤに関するデータエレメントを記述するための関数であって、具体的には、ｓｌｉｃｅ＿ｓｔａｒｔ＿ｃｏｄｅ、ｓｌｉｃｅ＿ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅ、ｉｎｔｒａ＿ｓｌｉｃｅ＿ｆｌａｇ、ｉｎｔｒａ＿ｓｌｉｃｅ、ｒｅｓｅｒｖｅｄ＿ｂｉｔｓ、ｅｘｔｒａ＿ｂｉｔ＿ｓｌｉｃｅ、ｅｘｔｒａ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｓｌｉｃｅ、およびｅｘｔｒａ＿ｂｉｔ＿ｓｌｉｃｅ等のデータエレメントと、ｍａｃｒｏｂｌｏｃｋ（）によって定義されるデータエレメントを記述するための関数である。
【００７７】
ｓｌｉｃｅ＿ｓｔａｒｔ＿ｃｏｄｅは、ｓｌｉｃｅ（）によって定義されるデータエレメントのスタートを示すスタートコードである。ｓｌｉｃｅ＿ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅは、このスライスレイヤに存在するマクロブロックに対して設定された量子化ステップサイズを示すデータである。しかし、各マクロブロック毎に、ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅが設定されている場合には、各マクロブロックに対して設定されたｍａｃｒｏｂｌｏｃｋ＿ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅのデータが優先して使用される。ｉｎｔｒａ＿ｓｌｉｃｅ＿ｆｌａｇは、ビットストリーム中にｉｎｔｒａ＿ｓｌｉｃｅおよびｒｅｓｅｒｖｅｄ＿ｂｉｔｓが存在するか否かを示すフラグである。ｉｎｔｒａ＿ｓｌｉｃｅは、スライスレイヤ中にノンイントラマクロブロックが存在するか否かを示すデータである。スライスレイヤにおけるマクロブロックのいずれかがノンイントラマクロブロックである場合には、ｉｎｔｒａ＿ｓｌｉｃｅは「０」となり、スライスレイヤにおけるマクロブロックの全てがノンイントラマクロブロックである場合には、ｉｎｔｒａ＿ｓｌｉｃｅは「１」となる。ｒｅｓｅｒｖｅｄ＿ｂｉｔｓは、７ビットのデータであって「０」の値を取る。ｅｘｔｒａ＿ｂｉｔ＿ｓｌｉｃｅは、符号化ストリームとして追加の情報が存在することを示すフラグであって、次にｅｘｔｒａ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｓｌｉｃｅが存在する場合には「１」に設定される。追加の情報が存在しない場合には「０」に設定される。ｍａｃｒｏｂｌｏｃｋ（）は、マクロブロックレイヤに関するデータエレメントを記述するための関数であって、具体的には、ｍａｃｒｏｂｌｏｃｋ＿ｅｓｃａｐｅ、ｍａｃｒｏｂｌｏｃｋ＿ａｄｄｒｅｓｓ＿ｉｎｃｒｅｍｅｎｔ、およびｍａｃｒｏｂｌｏｃｋ＿ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅ等のデータエレメントと、ｍａｃｒｏｂｌｏｃｋ＿ｍｏｄｅｓ（）、およびｍａｃｒｏｂｌｏｃｋ＿ｖｅｃｔｅｒｓ（ｓ）によって定義されたデータエレメントを記述するための関数である。ｍａｃｒｏｂｌｏｃｋ＿ｅｓｃａｐｅは、参照マクロブロックと前のマクロブロックとの水平方向の差が３４以上であるか否かを示す固定ビット列である。参照マクロブロックと前のマクロブロックとの水平方向の差が３４以上の場合には、ｍａｃｒｏｂｌｏｃｋ＿ａｄｄｒｅｓｓ＿ｉｎｃｒｅｍｅｎｔの値に３３をプラスする。ｍａｃｒｏｂｌｏｃｋ＿ａｄｄｒｅｓｓ＿ｉｎｃｒｅｍｅｎｔは、参照マクロブロックと前のマクロブロックとの水平方向の差を示すデータである。もし、このｍａｃｒｏｂｌｏｃｋ＿ａｄｄｒｅｓｓ＿ｉｎｃｒｅｍｅｎｔの前にｍａｃｒｏｂｌｏｃｋ＿ｅｓｃａｐｅが１つ存在するのであれば、このｍａｃｒｏｂｌｏｃｋ＿ａｄｄｒｅｓｓ＿ｉｎｃｒｅｍｅｎｔの値に３３をプラスした値が、実際の参照マクロブロックと前のマクロブロックとの水平方向の差分を示すデータとなる。ｍａｃｒｏｂｌｏｃｋ＿ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅは、各マクロブロック毎に設定された量子化ステップサイズである。各スライスレイヤには、スライスレイヤの量子化ステップサイズを示すｓｌｉｃｅ＿ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅが設定されているが、参照マクロブロックに対してｍａｃｒｏｂｌｏｃｋ＿ｑｕａｎｔｉｓｅｒ＿ｓｃａｌｅ＿ｃｏｄｅが設定されている場合には、この量子化ステップサイズを選択する。
【００７８】
次に、図２７を参照して、マルチプレクサ１６２Ａについて説明する。
【００７９】
マルチプレクサ１６２Ａは、複数のパケッタイザ３０１−３０９と、複数のトランスポートストリーム生成回路（ＴＳ  Ｇｅｎ．）３１１−３１９と、複数のシステムターゲットデコーダバッファ（ＳＴＤ  Ｂｕｆｆｅｒ）３２１−３２９と、多重化回路３３０と、多重化コントローラ３００とを備えている。
【００８０】
パケッタイザ３０１−３０９は、ＭＰＥＧエンコーダからそれぞれ出力されたエレメンタリーストリームを受け取り、エレメンタリーストリームをパケット化することによってパケッタイズドエレメンタリーストリーム（ＰＥＳ）を生成する。
【００８１】
図２８は、エレメンタリーストリーム（ＥＳ）、パケッタイズドエレメンタリーストリーム（ＰＥＳ）、そして、トランスポートトリームパケットの関連を説明するための図である。
【００８２】
ソースビデオデータを符号化すると、例えば図２８Ｂに示すような、各アクセスユニッテＡＵ１、ＡＵ２、………から構成されるエレメンタリーストリームが形成される。図２８Ｃは、パケッタイザーのパケット化処理に関して説明している図であって、パケッタイザーは、複数のアクセスユニットをパッキングし、そのパケットの先頭部分にＰＥＳヘッダを付加する。
【００８３】
図２９は、このＰＥＳヘッダを説明するための図面である。図２９に示すように、ＰＥＳヘッダは、パケット開始コード、ストリームＩＤ、パケット長、記号「１０」、フラグ制御コード、ＰＥＳヘッダ長、コンディショナルコーディングから構成される。ＭＰＥＧ規格では、このコンディショナルコーディングに、プレゼンテーションタイムスタンプ（ＰＴＳ）及びデコーディングタイムスタンプ（ＤＴＳ）の情報を入れないといけないと決められている。トランスポートストリーム生成回路（ＴＳ  Ｇｅｎ．）３１１−３１９は、パケッタイザ３０１−３０９から出力されたパッケタイズドエレメンタリーストリームから、図２８Ｄに示すように、１８８バイトのトランスポートストリームパケットからなるトランスポートストリームをそれぞれ生成する。
【００８４】
システムターゲットデコーダバッファ（ＳＴＤ  Ｂｕｆｆｅｒ）３２１−３２９は、トランスポートストリーム生成回路３１１−３１９から出力されたトランスポートストリームを受け取り、バッファリングする。このＳＴＤバッファは、ＭＰＥＧデコーダ側の受信バッファがオーバーフロー及びアンダーフローしないようにシュミレーションを目的として設けられたバッファであって、ＭＰＥＧ規格によって決まっている固定容量のバッファである。多重化回路３３０は、システムターゲットデコーダバッファ３２１−３２９から、トランスポートストリームをそれぞれ受け取り、コントローラ３００によって設定されたスケージューリングに従って多重化処理を実行する。
【００８５】
次に、各パケッタイザーの詳細な構成及び処理について、図２７及び図３０を参照して説明する。
【００８６】
各パケッタイザは、受け取ったエレメンタリストリームをバッファリングするためのバッファ３４１と、その受け取ったエレメンタリストリームのシンタックスをパージング（解析）するためのパージング回路３４２と、バッファから出力されたエレメンタリーストリームをパケット化するパケット化回路３４３を備えている。
【００８７】
パージング回路３４２は、エレメンタリーストリームから、そのエレメンタリーストリーム中に記述されたＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒを抽出し、そのＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒをパケット化回路３４３に供給する。具体的には、パージング回路３４２は、受け取ったエレメンタリーストリームを可変長符号化し、ストリーム中に含まれているスタートコードなどの特殊なデータエレメントを検索する。このパージング処理は、ＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒを抽出することが目的であるので、シーケンスレイヤはＧＯＰレイヤのスタートコードは無視し、まず、ピクチャレイヤのスタートコードを検索する。次に、３２ビットのｕｓｅｒ＿ｄａｔａ＿ｓｔａｒｔ＿ｃｏｄｅをストリーム中から見つけることによってピクチャレイヤのユーザデータエリアを見つけることができる。次に、このユーザデータエリアにおいて、Ｐｉｃｔｕｒｅ＿ｏｒｄｅｒ（）に関するデータエレメントを見つけるために、“０５”Ｄａｔａ＿ＩＤを探す。このＰｉｃｔｕｒｅ＿ｏｒｄｅｒ（）関数の１０ビット目から１６ビット目及び１７ビット目から２３ビット目には、ＰＴＳ＿ｃｏｕｎｔｅｒとＤＴＳ＿ｃｏｕｎｔｅｒが夫々記述されているので、パージング回路３４２、このＰＴＳ＿ｃｏｕｎｔｅｒとＤＴＳ＿ｃｏｕｎｔｅｒとを抜き出して、パケット化回路３４３に供給する。パケット化回路３４３は、パージング回路３４２からＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒを受け取り、このＰＴＳ＿ｃｏｕｎｔｅｒ及びＤＴＳ＿ｃｏｕｎｔｅｒに関する情報に基づいてＰＴＳとＤＴＳを新たに生成する。本実施例では、ＰＴＳの値としてＰＴＳ＿ｃｏｕｎｔｅｒの値そのものを使用し、ＤＴＳの値として、ＤＴＳ＿ｃｏｕｎｔｅｒの値そのものを使用するようにしている。
【００８８】
図３０は、本実施例のパケタイザを使用した場合において発生する最小遅延について説明するための図である。図３０Ａは、入力ビデオデータを表し、図３０Ｂは、その入力ビデオデータを符号化した際のエレメンタリーストリームを表しており、図３０Ｃは、本実施例のＭＰＥＧエンコーダによって生成した符号化ストリームを使用し、本実施例のパケッタイザーを使用した際の、パケッタイズドエレメンタリーストリームを表している。この図３０Ａと図３０Ｂについては、図２Ａ及び図２Ｂと同じである。しかしながら、図２Ｃと図３０Ｃを比較すると理解できるように、従来は、ＰＴＳを決定するパケッタイズドエレメンタリーストリームを生成する、つまり、ＰＴＳを決定するためには、ＩピクチャをＰピクチャの間に存在するＢピクチャの数をＮとすると（Ｎ＋２）フレーム分の遅延が発生していたという問題については説明済みである。
【００８９】
本実施例のエンコーディング方法及びパケット化方法によれば、符号化ストリームからＰＴＳを決定する遅延を１フレーム時間に押さえることができる。さらに、ＩピクチャをＰピクチャの間に存在するＢピクチャの数に限らず、ＩピクチャをＰピクチャの間に何枚ものＢピクチャが存在していたとしても、１フレームの最小遅延となる。また、図２７のような９チャンネル用のパケッタイザを設計しようとしたときに、９個のフレームメモリで実現できるという、極めて大きな効果がある。
【００９０】
次に、図３１を参照して、ＭＰＥＧデコーダ１４４Ａ−１４４Ｄについて説明する。各ＭＰＥＧデコーダは、受信バッファ４０１と、可変長復号化回路４０２と、逆量子化回路４０３と、逆ＤＣＴ回路４０４と、コントローラ４０５と、演算回路４１１と、動き補償回路４１２と、メモリ４１３及び４１４と、送信バッファ４１５と、バースバンドビデオ生成回路４１６と、多重化回路４１７とを備えている。
【００９１】
可変長復号回路４０２は、受信バッファからエレメンタリーストリームを受け取り、そのエレメンタリーストリームに対して可変長復号化処理を行うことによって所定のデータ長を有したデータエレメントからなるストリームを生成する。さらに、可変長復号回路４０２は、可変長復号化されたデータストリームのシンタックスをパージング（解析）することによって、ストリーム中から全てのコーディングパラメータを抽出し、コントローラ４０５に供給する。ストリーム中に重畳することがＭＰＥＧ規格によって義務付けられているコーディングパラメータの例としては、ピクチャタイプ、動きベクトル、予測モード、ＤＣＴモード、量子化スケールコード、量子化テーブル情報等であって、基本的には、この符号化ストリームを生成する符号化処理において発生したパラメータである。
【００９２】
本実施例のユニークな点は、可変長符号化回路４０２は、上述したＭＰＥＧ規格によって定められているコーディングパラメータだけではなく、エレメンタリーストリームのユーザーデータエリアにＭＰＥＧ＿ＥＳ＿Ｅｄｉｔｉｎｇ＿ｉｎｆｏｒｍａｔｉｏｎ（）として記述されている情報を抽出することが、本実施例の特徴である。具体的には、符号化ストリーム中のシーケンスレイヤのユーザデータエリアには、Ｖ−ｐｈａｓｅ（）Ｈ−ｐｈａｓｅ（）に関する情報がＭＰＥＧ＿ＥＳ＿Ｅｄｉｔｉｎｇ＿ｉｎｆｏｒｍａｔｉｏｎ（）として記述されており、符号化ストリーム中のピクチャレイヤのユーザデータエリアには、Ｔｉｍｅ＿ｃｏｄｅ（）、Ｐｉｃｔｕｒｅ＿ｏｒｄｅｒ（）、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（）、Ｈｉｓｔｏｒｙ＿ｄａｔａ（）に関する情報がＭＰＥＧ＿ＥＳ＿Ｅｄｉｔｉｎｇ＿ｉｎｆｏｒｍａｔｉｏｎ（）として記述されており、可変長符号化回路４０２は、ストリーム中から、これらのＶ−ｐｈａｓｅ（）Ｈ−ｐｈａｓｅ（）、Ｔｉｍｅ＿ｃｏｄｅ（）、Ｐｉｃｔｕｒｅ＿ｏｒｄｅｒ（）、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ（）及びＨｉｓｔｏｒｙ＿ｄａｔａ（）に関連する情報を抽出し、コントローラ４０５に供給する。
【００９３】
逆量子化回路４０３は、可変長復号化回路４０２より供給された可変長復号化されたＤＣＴ係数データを、同じく可変長復号化回路４０２から供給された量子化スケールに基づいて逆量子化し、逆ＤＣＴ回路４０４に出力する。
【００９４】
逆ＤＣＴ回路４０４は、逆量子化回路４０３から供給された量子化ＤＣＴ係数に対して、逆離散コサイン変換処理を施し、逆ＤＣＴされた画像データとして、演算器４１１に供給される。逆ＤＣＴ回路４０４より演算器４１１に供給された画像データが、Ｉピクチャのデータである場合、そのデータは演算器４１１より出力され、演算器４１１の後に入力される画像データ（Ｐピクチャ又はＢピクチャのデータ）の予測画像データ生成のために、フレームメモリの前方予測画像部４１４に供給されて記憶される。逆ＤＣＴ回路４０４より供給された画像データが、その１フレーム前の画像データを予測画像データとするＰピクチャのデータであり、前方予測モードのデータである場合、フレームメモリの前方予測画像部４１４に記憶されている、１フレーム前の画像データ（Ｉピクチャのデータ）が読み出され、動き補償回路４１２で可変長復号化回路４０２より出力された動きベクトルに対応する動き補償が施される。そして、演算器４１１において、逆ＤＣＴ回路４０４より供給された画像データ（差分のデータ）と加算され、出力される。この加算されたデータ、すなわち、復号されたＰピクチャのデータは、演算器４１１に後に入力される画像データ（Ｂピクチャ又はＰピクチャのデータ）の予測画像データ生成のために、フレームメモリの後方予測画像部４１３に供給されて記憶される。Ｐピクチャのデータであっても、画像内予測モードのデータは、Ｉピクチャのデータと同様に、演算器４１１において処理は行われず、そのまま後方予測画像部４１３に記憶される。このＰピクチャは、次のＢピクチャの次に表示されるべき画像であるため、この時点では、まだフォーマット変換回路３２へ出力されない（上述したように、Ｂピクチャの後に入力されたＰピクチャが、Ｂピクチャより先に処理され、伝送されている）。逆ＤＣＴ回路４０４より供給された画像データが、Ｂピクチャのデータである場合、可変長復号化回路４０２より供給された予測モードに対応して、フレームメモリの前方予測画像部４１４に記憶されているＩピクチャの画像データ（前方予測モードの場合）、後方予測画像部４１３に記憶されているＰピクチャの画像データ（後方予測モードの場合）、又は、その両方の画像データ（両方向予測モードの場合）が読み出され、動き補償回路４１２において、可変長復号化回路４０２より出力された動きベクトルに対応する動き補償が施されて、予測画像が生成される。但し、動き補償を必要としない場合（画像内予測モードの場合）、予測画像は生成されない。このようにして、動き補償回路４１２で動き補償が施されたデータは、演算器４１１において、逆ＤＣＴ回路４０４の出力と加算される。この加算出力は、バッファ４１５を介してベースバンドビデオ生成回路４１６に供給される。この送信バッファ４１５から出力されるビデオデータは、アクティブビデオエリアのみのビデオデータであってブランキング期間などの補助的データは付与されていない。
【００９５】
コントローラ４０５は、可変長復号化回路４０２から供給されたピクチャタイプ、動きベクトル、予測モード、ＤＣＴモード、量子化スケールコード、量子化テーブル情報等のコーディングパラメータに関する情報にもとづいて、上述した各回路のオペレーションをコントロールする。
【００９６】
さらには、コントローラ４０５は、可変長符号化回路４０２からＭＰＥＧ＿ＥＳ＿Ｅｄｉｔｉｎｇ＿ｉｎｆｏｒｍａｔｉｏｎ（）として供給されたＶ−ｐｈａｓｅ及びＨ−ｐｈａｓｅに関する情報に基づいて、ベースバンドビデオ生成回路４１６をコントロールする。符号化ストリーム中から抽出されたＶ−ｐｈａｓｅは、入力ビデオデータの全画素エリアにおけるアクティブビデオエリアの垂直方向の位置を示しており、また、そのＨ−ｐｈａｓｅは、入力ビデオデータの全画素エリアにおけるアクティブビデオエリアの水平方向の位置を示している。よって、コントローラ４０５は、バッファ４１５から出力された復号化ビデオデータを、ブランキングイメージを有した全画素エリア上に、Ｖ−ｐｈａｓｅ及びＨ−ｐｈａｓｅによって示される垂直及び水平位置にマッピングするようにベースバンドビデオ生成回路をコントロールする、または、Ｖ−ｐｈａｓｅ及びＨ−ｐｈａｓｅによって示される垂直及び水平位置に基づいて、アクティブエリアの復号ビデオデータと、全画素エリアのブランキングイメージを合成するようにベースバンドビデオ生成回路をコントロールする。その結果、ベースバンドビデオ生成回路４１６から出力されるビデオデータは、ＭＰＥＧエンコーダに供給された入力ビデオデータのブランキング期間と全く同じブランキング期間を有している。
【００９７】
コントローラは４０５は、符号化ストリームから抽出されたＡｎｃｉｌｌａｒｙ＿ｄａｔａ、Ｌｉｎｅ＿ｕｎｍｂｅｒ、Ｆｉｅｌｄ＿ＩＤ、Ｔｉｍｅ＿ｃｏｄｅ＿１及びＴｉｍｅ＿ｃｏｄｅ＿２を供給する、又はＦｉｅｌｄ＿ＩＤに基づいて、Ａｎｃｉｌｌａｒｙ＿ｄａｔａ、Ｔｉｍｅ＿ｃｏｄｅ＿１又はＴｉｍｅ＿ｃｏｄｅ＿２の多重化回路４１７の多重化処理をコントロールする。具体的には、既に図７Ｃにおいて説明したように、Ｆｉｅｌｄ＿ＩＤはフィールド毎に付与されたＡｎｃｉｌｌａｒｙ＿ｄａｔａと関連付けされているので、多重化回路４１７はこのＦｉｅｌｄ＿ＩＤによって同定されるフィールドのブランキング期間に、Ｆｉｅｌｄ＿ＩＤと関連付けられているＡｎｃｉｌｌａｒｙ＿ｄａｔａを重畳する。例えば、Ｆｉｅｌｄ＿ＩＤが「２」の場合には、フレームにおいて３番目のフィールドであることがわかるので、符号化ストリーム中において、Ｆｉｅｌｄ＿ＩＤが「２」に関連するアンシラリーデータとして伝送されてきたＡｎｃｉｌｌａｒｙ＿ｄａｔａを、Ｆｉｅｌｄ＿ＩＤが「２」の３番目のフィールドのブランキング期間に重畳する。多重化回路４１７は、さらに、Ａｎｃｉｌｌａｒｙ＿ｄａｔａをブランキング期間に重畳する際、Ａｎｃｉｌｌａｒｙ＿ｄａｔａと一緒に伝送されているＬｉｎｅ＿ｕｎｍｂｅｒによって指定されるライン位置に、そのＡｎｃｉｌｌａｒｙ＿ｄａｔａを重畳する。
【００９８】
従って、多重化回路４１７から出力されたビデオデータは、ＭＰＥＧエンコーダに供給された入力ビデオデータと全く同じブランキング期間、全く同じ位置のアクティブビデオエリア、全く同じライン位置にかつ同じ内容のアンシラリデータを有している。
【００９９】
よって、本実施例によれば、ビデオデータを送信側システムから受信側システムに伝送する際に、ＭＰＥＧエンコード及びデコード処理を行ったとしても、そのコーディング処理によって入力ビデオデータがそもそも有している固有情報や入力ビデオデータに付加されたアンシラリーデータが無くなることはない。
【産業上の利用可能性】
【０１００】
本発明は放送局等で頻繁にビデオデータをエンコード及びデコードする際に利用できる。
【図面の簡単な説明】
【０１０１】
【図１】図１は、従来のＭＰＥＧエンコーダ及びＭＰＥＧデコーダを有するシステムの構成を示すブロック図である。
【図２】図２は、３−２プルダウン処理回路を有するエンコードシステムの構成を示すブロック図である。
【図３】図３は、３−２プルダウン処理の説明に供する略線図である。
【図４】図４は本発明によるエンコード／デコードシステムの構成を示すブロック図である。
【図５】図５は、エレメンタリストリーム及びトランスポートストリームを示す略線図である。
【図６】図６は、ＭＰＥＧエンコーダの構成を示すブロック図である。
【図７】図７は、３−２プルダウン処理の説明に供する略線図である。
【図８】図８は、ビデオデータの全画素エリア及びアクティブビデオエリアを示す略線図である。
【図９】図９は、各フレームの構造を示す略線図である。
【図１０】図１０は、ｖｉｄｅｏ  ｓｅｑｕｅｎｃｅのシンタックスを示す略線図である。
【図１１】図１１は、ｓｅｑｕｅｎｃｅ  ｈｅａｄｅｒのシンタックスを示す略線図である。
【図１２】図１２は、ｓｅｑｕｅｎｃｅ  ｅｘｔｅｎｔｉｏｎのシンタックスを示す略線図である。
【図１３】図１３は、ｅｘｔｅｎｓｉｏｎ  ａｎｄ  ｕｓｅｒ  ｄａｔａのシンタックスを示す略線図である。
【図１４】図１４は、ｕｓｅｒ  ｄａｔａのシンタックスを示す略線図である。
【図１５】図１５は、ｄａｔａ  ＩＤのシンタックスを示す略線図である。
【図１６】図１６は、Ｖ−Ｐｈａｓｅのシンタックスを示す略線図である。
【図１７】図１７は、Ｈ−Ｐｈａｓｅのシンタックスを示す略線図である。
【図１８】図１８は、ｔｉｍｅ  ｃｏｄｅのシンタックスを示す略線図である。
【図１９】図１９は、ｔｉｍｅ  ｃｏｄｅのシンタックスを示す略線図である。
【図２０】図２０は、ｐｉｃｔｕｒｅ  ｏｒｄｅｒのシンタックスを示す略線図である。
【図２１】図２１は、ａｎｃｉｌｌａｒｙ  ｄａｔａのシンタックスを示す略線図である。
【図２２】図２２は、ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅ  ｈｅａｄｅｒのシンタックスを示す略線図である。
【図２３】図２３は、ｐｉｃｔｕｒｅ  ｈｅａｄｅｒのシンタックスを示す略線図である。
【図２４】図２４は、ｐｉｃｔｕｒｅ  ｃｅｒｄｉｎｇ  ｅｘｔｅｎｓｉｏｎのシンタックスを示す略線図である。
【図２５】図２５は、ｐｉｃｔｕｒｅ  ｄａｔａのシンタックスを示す略線図である。
【図２６】図２６は、シーケンスレイヤ、ＧＯＰレイヤ、ピクチャレイヤの各データを示す略線図である。
【図２７】図２７は、エンコーダ側の多重化部の構成を示すブロック図である。
【図２８】図２８は、ソースビデオデータからＰＥＳパケット及びＴＳパケットを生成する方法の説明に供する略線図である。
【図２９】図２９は、ＰＥＳヘッダのデータ構成を示す略線図である。
【図３０】図３０は、各ピクチャの配列を示す略線図である。
【図３１】図３１は、ＭＰＥＧデコーダの構成を示すブロック図である。
【符号の説明】
【０１０２】
１……ビデオプロセッサ、２……ＭＰＥＧエンコーダ、３……ＭＰＥＧデコーダ、５……３−２プルダウン処理回路、６……逆３−２プルダウン処理回路、１０４……コントローラ、１０５……動き検出回路、１１２……ＤＣＴ回路、１１３……量子化回路、１１９……動き補償回路、１２５……可変長符号化回路、１２６……送信バッファ、１４２Ａ……ＭＰＥＧエンコーダ、３００……多重化コントローラ、３０１、３０２、３０９……パケッタイザ、３３０……マルチプレクサ。
【図１】
2004328771.tif 000003
【図２】
2004328771.tif 000004
【図３】
2004328771.tif 000005
【図４】
2004328771.tif 000006
【図５】
2004328771.tif 000007
【図６】
2004328771.tif 000008
【図７】
2004328771.tif 000009
【図８】
2004328771.tif 000010
【図９】
2004328771.tif 000011
【図１０】
2004328771.tif 000012
【図１１】
2004328771.tif 000013
【図１２】
2004328771.tif 000014
【図１３】
2004328771.tif 000015
【図１４】
2004328771.tif 000016
【図１５】
2004328771.tif 000017
【図１６】
2004328771.tif 000018
【図１７】
2004328771.tif 000019
【図１８】
2004328771.tif 000020
【図１９】
2004328771.tif 000021
【図２０】
2004328771.tif 000022
【図２１】
2004328771.tif 000023
【図２２】
2004328771.tif 000024
【図２３】
2004328771.tif 000025
【図２４】
2004328771.tif 000026
【図２５】
2004328771.tif 000027
【図２６】
2004328771.tif 000028
【図２７】
2004328771.tif 000029
【図２８】
2004328771.tif 000030
【図２９】
2004328771.tif 000031
【図３０】
2004328771.tif 000032
【図３１】
2004328771.tif 000033
【手続補正書】
【提出日】平成16年6月16日(2004.6.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力ビデオデータをエンコードするためのエンコーディング装置において、
上記入力ビデオデータから、上記入力ビデオデータにおけるアクティブビデオエリアの水平位置及び垂直位置を特定する位置情報を取得する取得手段と、
上記入力ビデオデータをエンコードし、符号化ストリームを生成する符号化手段と、
上記取得手段により取得された上記位置情報を上記符号化ストリーム中に記述するように、上記符号化手段をコントロールするコントロール手段と
を備えたことを特徴とするエンコーディング装置。
【請求項２】
上記位置情報は、上記符号化ストリームのシーケンスレイヤにおいて、Ｖ ｐｈａｓｅ（）とＨ ｐｈａｓｅ（）によって表されるシンタックスに基づいて記述される
ことを特徴とする請求項１に記載のエンコーディング装置。
【請求項３】
上記取得手段は、上記入力ビデオデータから、上記入力ビデオデータのブランキング期間に多重化されているアンシラリーデータを更に取得し、
上記コントロール手段は、上記取得手段により取得された上記アンシラリーデータを上記符号化ストリーム中に更に記述するように上記符号化手段をコントロールする
ことを特徴とする請求項１に記載のエンコーディング装置。
【請求項４】
上記コントロール手段は、上記符号化ストリームのピクチャレイヤのユーザデータエリアに、上記アンシラリーデータをフィールド単位又はフレーム単位に記述するように上記符号化手段をコントロールする
ことを特徴とする請求項３に記載のエンコーディング装置。
【請求項５】
上記入力ビデオデータの１フレームが複数のフィールドから構成され、
上記取得手段は、上記入力ビデオデータから、上記アンシラリーデータが挿入されていたフィールドを特定するフィールドＩＤ及び上記アンシラリーデータが挿入されていたライン位置を特定するライン番号を更に取得し、
上記コントロール手段は、上記取得手段により取得されたフィールドＩＤ及び上記ライン番号を更に記述するように上記符号化手段をコントロールする
ことを特徴とする請求項３に記載のエンコーディング装置。
【請求項６】
上記アンシラリーデータは、可変長符号化されたデータストリームであることを特徴とする請求項３に記載のエンコーディング装置。
【請求項７】
上記アンシラリーデータは、上記符号化ストリームのピクチャレイヤにおいて、Ａｎｃｉｌｌａｒｙ ｄａｔａ（）によって表されるシンタックスに基づいて記述されることを特徴とする請求項３に記載のエンコーディング装置。
【請求項８】
上記入力ビデオデータは、２４ヘルツのフレーム周波数を有するソースビデオデータを、３−２プルダウン処理を行うことによって生成された３０ヘルツのフレーム周波数を有するビデオデータであって、
上記符号化手段は、上記３０ヘルツのフレーム周波数を有する上記入力ビデオデータを上記２４ヘルツのフレーム周波数に変換するための逆３−２プルダウン処理を行うことにより、上記入力ビデオデータのフレームレートを変化させて符号化する
ことを特徴とする請求項３に記載のエンコーディング装置。
【請求項９】
上記フィールドＩＤは、少なくとも３フィールドを識別することが可能なフラグであることを特徴とする請求項８に記載のエンコーディング装置。
【請求項１０】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング装置において、
上記符号化ストリームから、上記入力ビデオデータにおけるアクティブビデオエリアの水平位置及び垂直位置を特定する位置情報を取得する取得手段と、
上記符号化ストリームをデコードし、上記取得手段により取得された上記位置情報を解釈することによって復号化ビデオデータを生成する復号化手段と、
を備えたことを特徴とするデコーディング装置。
【請求項１１】
上記位置情報は、上記符号化ストリームのシーケンスレイヤにおいて、Ｖ ｐｈａｓｅ（）とＨ ｐｈａｓｅ（）によって表されるシンタックスに基づいて記述される
ことを特徴とする請求項１０に記載のデコーディング装置。
【請求項１２】
上記取得手段は、上記符号化ストリームから、上記符号化ストリーム中に記述されているアンシラリーデータを更に取得し、
上記取得手段により取得された上記アンシラリーデータを、上記復号化ビデオデータのブランキング期間に多重化する多重化手段と
を更に備えたことを特徴とする請求項１０に記載のデコーディング装置。
【請求項１３】
上記取得手段は、上記符号化ストリームのシンタックスを解析することによって、上記符号化ストリームのピクチャレイヤのユーザデータエリアから上記アンシラリーデータを取得することを特徴とする請求項１２に記載のデコーディング装置。
【請求項１４】
上記アンシラリーデータは、上記符号化ストリームのピクチャレイヤにおいて、Ａｎｃｉｌｌａｒｙ ｄａｔａ（）によって表されるシンタックスに基づいて記述されていることを特徴とする請求項１２に記載のデコーディング装置。
【請求項１５】
上記入力ビデオデータの１フレームが複数のフィールドから構成され、
上記符号化ストリーム中には、上記入力ビデオデータにおいて上記アンシラリーデータが多重化されていたフィールドを特定するフィールドＩＤ及び上記アンシラリーデータが多重化されていたライン位置を特定するライン番号が、上記アンシラリーデータと関連付けて記述されており、
上記取得手段は、上記符号化ストリームから上記フィールドＩＤ及び上記ライン番号を更に取得し、
上記多重化手段は、上記取得手段により取得された上記フィールドＩＤ及び上記ライン番号を解釈することにより、上記フィールドＩＤによって指定されたフィールド及び上記ライン番号によって指定されたライン位置に上記アンシラリーデータを多重化する
ことを特徴とする請求項１２に記載のデコーディング装置。
【請求項１６】
上記入力ビデオデータは、２４ヘルツのフレーム周波数を有するソースビデオデータを、３−２プルダウン処理を行うことによって生成された３０ヘルツのフレーム周波数を有するビデオデータであって、
上記符号化ストリームは、上記３０ヘルツのフレーム周波数を有する上記入力ビデオデータを上記２４ヘルツのフレーム周波数に変換するための逆３−２プルダウン処理を行うことにより、上記入力ビデオデータのフレームレートを変化させて符号化された
ことを特徴とする請求項１５に記載のデコーディング装置。
【請求項１７】
上記フィールドＩＤは、少なくとも３フィールドを識別することが可能なフラグであることを特徴とする請求項１６に記載のデコーディング装置。
【請求項１８】
入力ビデオデータをエンコードするためのエンコーディング方法において、
上記入力ビデオデータから、上記入力ビデオデータにおけるアクティブビデオエリアの水平位置及び垂直位置を特定する位置情報を取得する取得ステップと、
上記入力ビデオデータをエンコードし、上記取得ステップにより取得された上記位置情報を上記符号化ストリーム中に記述するように符号化ストリームを生成する生成ステップと
を備えたことを特徴とするエンコーディング方法。
【請求項１９】
上記取得ステップでは、上記入力ビデオデータから、上記入力ビデオデータのブランキング期間に多重化されているアンシラリーデータを更に取得し、
上記生成ステップでは、上記取得ステップにより取得された上記アンシラリーデータを上記符号化ストリーム中に更に記述する
ことを特徴とする請求項１８に記載のエンコーディング方法。
【請求項２０】
入力ビデオデータをエンコードすることによって生成された符号化ストリームをデコードするためのデコーディング方法において、
上記符号化ストリームから、上記入力ビデオデータにおけるアクティブビデオエリアの水平位置及び垂直位置を特定する位置情報を取得する取得ステップと、
上記符号化ストリームをデコードし、上記取得ステップにより取得された上記位置情報を解釈することによって復号化ビデオデータを生成する復号化ステップと、
を備えたことを特徴とするデコーディング方法。
【請求項２１】
上記取得ステップでは、上記符号化ストリームから、上記符号化ストリーム中に記述されているアンシラリーデータを更に取得し、
上記取得ステップにより取得された上記アンシラリーデータを、上記生成ステップにより生成された上記復号化ビデオデータのブランキング期間に多重化する多重化ステップと
を更に備えたことを特徴とする請求項２０に記載のデコーディング方法。
【請求項２２】
上記入力ビデオデータから、上記入力ビデオデータにおけるアクティブエリアの水平位置及び垂直位置を特定する位置情報を取得する取得ステップと、
上記入力ビデオデータをエンコードし、上記取得ステップにより取得された上記位置情報を上記符号化ストリーム中に記述するように符号化ストリームを生成する生成ステップと
を含む処理を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２３】
上記取得ステップでは、上記入力ビデオデータから、上記入力ビデオデータのブランキング期間に多重化されているアンシラリーデータを更に取得し、
上記生成ステップでは、上記取得ステップにより取得された上記アンシラリーデータを上記符号化ストリーム中に更に記述する
ことを特徴とする請求項２２に記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
入力ビデオデータをエンコードすることによって生成された符号化ストリームから、上記入力ビデオデータにおけるアクディブビデオエリアの水平位置及び垂直位置を特定する位置情報を取得する取得ステップと、
上記符号化ストリームをデコードし、上記取得ステップにより取得された上記位置情報を解釈することによって復号化ビデオデータを生成する復号化ステップと
を含む処理を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２５】
上記取得ステップでは、上記符号化ストリームから、上記符号化ストリーム中に記述されているアンシラリーデータを更に取得し、
上記取得ステップにより取得された上記アンシラリーデータを、上記生成ステップにより生成された上記復号化ビデオデータのブランキング期間に多重化する多重化ステップと
を更に備えたことを特徴とする請求項２４に記載のコンピュータ読み取り可能な記録媒体。