(57)【要約】  入力データに対して可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成装置（２００）であって、量子化データに対する圧縮符号化に用いられる情報である符号化関連情報を入力データに挿入する挿入部（２１５）と、ヘッダに対する可変長符号化および圧縮符号化を含む第一処理を行う第一符号化部（２１６）と、第一処理後の入力データである中間データを、記憶部に転送する第一転送制御部（２１２）と、記憶部から中間データを読み出す第二転送制御部（２２２）と、中間データから符号化関連情報に示される情報を抽出する抽出部（２２５）と、抽出部（２２５）により抽出された情報を用いた、量子化データに対する圧縮符号化を含む第二処理を行うことで、ストリームを生成する第二符号化部（２２６）とを備える。
2012140839.tif 000002
【特許請求の範囲】
【請求項１】
量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成装置であって、
前記量子化データに対する前記圧縮符号化に必要な情報の、前記ヘッダにおける位置を特定するための情報である符号化関連情報を、前記ヘッダに挿入する挿入部と、
前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化部と、
前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、前記ストリーム生成装置に接続された記憶部に転送する第一転送制御部と、
前記記憶部から前記中間データを読み出す第二転送制御部と、
読み出された前記中間データに含まれる前記ヘッダの、前記符号化関連情報に示される位置から、前記量子化データに対する前記圧縮符号化に必要な情報を抽出する抽出部と、
前記抽出部により抽出された情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化部と
を備えるストリーム生成装置。
【請求項２】
前記挿入部は、前記量子化データに対する前記圧縮符号化に必要な情報の前記ヘッダにおける位置を特定するための情報であるフラグを、前記符号化関連情報として前記圧縮符号化に必要な情報の前後に挿入し、
前記抽出部は、２つの前記フラグの間に存在する、前記圧縮符号化に必要な情報を抽出する
請求項１記載のストリーム生成装置。
【請求項３】
前記挿入部は、前記量子化データに対する前記圧縮符号化に必要な情報の前記ヘッダにおける位置を特定するための情報である、前記圧縮符号化に必要な情報の開始位置およびサイズを示すフラグを、前記符号化関連情報として前記圧縮符号化に必要な情報の前に挿入し、
前記抽出部は、前記フラグに示される前記開始位置および前記サイズに基づいて、前記圧縮符号化に必要な情報を抽出する
請求項１記載のストリーム生成装置。
【請求項４】
量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成装置であって、
前記ヘッダから、前記量子化データに対する前記圧縮符号化に必要な情報である符号化関連情報を取得し、取得した符号化関連情報を前記入力データに挿入する挿入部と、
前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化部と、
前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、前記ストリーム生成装置に接続された記憶部に転送する第一転送制御部と、
前記記憶部から前記中間データを読み出す第二転送制御部と、
読み出された前記中間データから、前記符号化関連情報を抽出する抽出部と、
前記抽出部により抽出された前記符号化関連情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化部と
を備えるストリーム生成装置。
【請求項５】
前記挿入部は、前記符号化関連情報を、前記入力データが有する非圧縮データの直後に挿入し、
前記抽出部は、前記非圧縮データの直後に挿入された、前記符号化関連情報を抽出する
請求項４記載のストリーム生成装置。
【請求項６】
前記挿入部は、前記符号化関連情報を、前記量子化データに挿入し、
前記抽出部は、前記中間データに含まれる前記量子化データから前記符号化関連情報を抽出する
請求項４記載のストリーム生成装置。
【請求項７】
前記挿入部は、前記量子化データに含まれる高周波成分データを、前記圧縮符号化に必要な情報と置き換えることで、前記符号化関連情報を前記量子化データに挿入する
請求項６記載のストリーム生成装置。
【請求項８】
前記第一転送制御部は、前記中間データを前記記憶部に転送することで、
（ｉ）前記中間データに含まれる前記第一処理が行われた後の前記ヘッダを、前記記憶部が備える第一メモリに格納させ、かつ、（ｉｉ）前記中間データに含まれる前記第一処理が行われた後の前記量子化データを、前記記憶部が備える第二メモリであって、前記第一メモリとは物理的に異なる第二メモリに格納させる
請求項１〜７のいずれか１項に記載のストリーム生成装置。
【請求項９】
前記第一符号化部は、前記第一処理である、前記ヘッダに対する前記可変長符号化および前記圧縮符号化、ならびに前記量子化データの前記第一転送制御部への入力を行い、
前記第二符号化部は、前記第二処理である、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記可変長符号化および前記圧縮符号化を行う
請求項１〜８のいずれか１項に記載のストリーム生成装置。
【請求項１０】
前記第一符号化部は、前記第一処理である、前記ヘッダに対する前記可変長符号化および前記圧縮符号化、ならびに、前記量子化データに対する可変長符号化を行う
請求項１〜８のいずれか１項に記載のストリーム生成装置。
【請求項１１】
量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成方法であって、
前記量子化データに対する前記圧縮符号化に必要な情報の、前記ヘッダにおける位置を特定するための情報である前記符号化関連情報を、前記ヘッダに挿入する挿入ステップと、
前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化ステップと、
前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、記憶部に転送する第一転送ステップと、
前記記憶部から前記中間データを読み出す第二転送ステップと、
読み出された前記中間データに含まれる前記ヘッダの、前記符号化関連情報に示される位置から、前記量子化データに対する前記圧縮符号化に必要な情報を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化ステップと
を含むストリーム生成方法。
【請求項１２】
量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成方法であって、
前記ヘッダから、前記量子化データに対する前記圧縮符号化に必要な情報である符号化関連情報を取得し、取得した符号化関連情報を前記入力データに挿入する挿入ステップと、
前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化ステップと、
前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、記憶部に転送する第一転送ステップと、
前記記憶部から前記中間データを読み出す第二転送ステップと、
読み出された前記中間データから、前記符号化関連情報を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記符号化関連情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化ステップと
を含むストリーム生成方法。
【請求項１３】
量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成する集積回路であって、
前記量子化データに対する前記圧縮符号化に必要な情報の、前記ヘッダにおける位置を特定するための情報である前記符号化関連情報を、前記ヘッダに挿入する挿入部と、
前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化部と、
前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、前記集積回路に接続された記憶部に転送する第一転送制御部と、
前記記憶部から前記中間データを読み出す第二転送制御部と、
読み出された前記中間データに含まれる前記ヘッダの、前記符号化関連情報に示される位置から、前記量子化データに対する前記圧縮符号化に必要な情報を抽出する抽出部と、
前記抽出部により抽出された情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化部と
を備える集積回路。
【請求項１４】
量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成する集積回路であって、
前記ヘッダから、前記量子化データに対する前記圧縮符号化に必要な情報である符号化関連情報を取得し、取得した符号化関連情報を前記入力データに挿入する挿入部と、
前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化部と、
前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、前記ストリーム生成装置に接続された記憶部に転送する第一転送制御部と、
前記記憶部から前記中間データを読み出す第二転送制御部と、
読み出された前記中間データから、前記符号化関連情報を抽出する抽出部と、
前記抽出部により抽出された前記符号化関連情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化部と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化機能を備える情報処理装置におけるストリーム生成装置およびストリーム生成方法に関する。
【背景技術】
【０００２】
近年、ネットワーク帯域の拡大およびディスプレイの大型化等に伴って、ネットワーク上で通信されるビデオコンテンツとしてＦｕｌｌ−ＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）サイズのビデオコンテンツが現れてきている。【０００３】
しかし、Ｆｕｌｌ−ＨＤサイズの動画像をリアルタイムで符号化または復号するには、未だＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）の性能が追従できておらず、一部の処理を専用のハードウェアが負担する必要がある。【０００４】
また、近年では、Ｈ．２６４／ＡＶＣ規格に従う画像符号化方式（以下、Ｈ．２６４符号化方式という）が動画像の符号化方式として主流になっている。Ｈ．２６４符号化方式では、これまでＭＰＥＧ−２などの規格では用いられていなかった算術符号化を用いることで、大幅な符号化効率の向上を図ることができる。【０００５】
算術符号化を行う従来の画像符号化装置として、ヘッダ情報と量子化データとが、それぞれピクチャ単位で構成されているような入力データに対して、順次符号化を行う装置が存在する。このような装置として、例えば特許文献１に記載されたものが知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第７３６９０６６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、例えば、ネットワーク経由で動画像データを含むストリームを送信する場合、伝送エラーに対する耐性の高いストリームを生成する必要がある。しかしながら、このような特徴を有するストリームを、例えば算術符号化を伴う符号化方式により生成することは、現状では困難が伴う。【０００８】
本発明は、上記従来の課題を考慮し、高いエラー耐性と高圧縮とが両立されたストリームを効率よく生成することができるストリーム生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記従来の課題を解決するために、本発明の一態様に係るストリーム生成装置は、量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成装置であって、前記量子化データに対する前記圧縮符号化に必要な情報の、前記ヘッダにおける位置を特定するための情報である符号化関連情報を、前記ヘッダに挿入する挿入部と、前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化部と、前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、前記ストリーム生成装置に接続された記憶部に転送する第一転送制御部と、前記記憶部から前記中間データを読み出す第二転送制御部と、読み出された前記中間データに含まれる前記ヘッダの、前記符号化関連情報に示される位置から、前記量子化データに対する前記圧縮符号化に必要な情報を抽出する抽出部と、前記抽出部により抽出された情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化部とを備える。【００１０】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム、または記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム、および記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１１】
本発明の一態様に係るストリーム生成装置によれば、高いエラー耐性と高圧縮とが両立されたストリームを効率よく生成することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態１における画像符号化部を備えるＡＶ（Ａｕｄｉｏ  ａｎｄ  Ｖｉｓｕａｌ）システムの構成例を示す図である。
【図２】図２は、実施の形態１における画像符号化装置の構成概要を示すブロック図である。
【図３】図３は、実施の形態１における画像符号化部の構成概要を示すブロック図である。
【図４】図４は、実施の形態１におけるストリーム生成装置の構成概要を示すブロック図である。
【図５】図５は、実施の形態１における、前段部から主記憶メモリに転送される中間データの構成の一例を示す図である。
【図６】図６は、実施の形態１における画像符号化部の処理の流れの一例を示すフローチャートである。
【図７Ａ】図７Ａは、図６に示す符号化＿１における処理の流れの一例を示すフローチャートである。
【図７Ｂ】図７Ｂは、図６に示す符号化＿２における処理の流れの一例を示すフローチャートである。
【図８】図８は、実施の形態２における、前段部から主記憶メモリに転送される中間データの構成の一例を示す図である。
【図９】図９は、実施の形態２における符号化＿１の処理の流れの一例を示すフローチャートである。
【図１０】図１０は、実施の形態３における、前段部から主記憶メモリに転送される中間データの構成の一例を示す図である。
【図１１Ａ】図１１Ａは、実施の形態３における符号化＿１の処理の流れの一例を示すフローチャートである。
【図１１Ｂ】図１１Ｂは、実施の形態３における符号化＿２の処理の流れの一例を示すフローチャートである。
【図１２】図１２は、画像符号化装置が、中間データの退避のための２つのメモリを有する場合の構成概要を示すブロック図である。
【図１３】図１３は、ストリーム生成装置に、第一主記憶メモリと第二主記憶メモリとが接続された場合の構成概要を示すブロック図である。
【発明を実施するための形態】
【００１３】
（本発明の基礎となった知見）
本願発明者らは、伝送エラーに対する耐性の高いストリームを効率よく生成するための技術に関し、以下の問題が生じることを見出した。
【００１４】
近年では、一般のＴＶ端末等においてもネットワーク対応化が進んでいる。その結果、特に民生機器向けのシステムＬＳＩには、符号化および復号のアルゴリズムが公開されているフリーコーデックなど、様々な種類の符号化方式への対応が迫られている。
【００１５】
しかし、例えば、算術符号化処理を行う従来の符号化方式（例えばＨ．２６４符号化方式）に対応したハードウェア構成で、新たな種類のコーデックを実行することを想定すると、幾つかの不都合が生じる。
【００１６】
例えば、ネットワーク経由で動画像データを含むストリームを送信する場合、伝送エラーに対する耐性の高いストリームを生成する必要がある。そこで、このようなストリーム生成するための技術としてデータパーティショニングが採用された符号化方式も存在する。
【００１７】
データパーティショニングでは、画像符号化情報をいくつかのパーティションに分割して重要な情報とそうでない情報とに分類して、重要な情報が格納されるパーティションは情報が欠落しにくくするなどの工夫が施される。
【００１８】
このようなデータパーティショニングにより得られるストリームでは、例えば、符号化方式等の情報を含むヘッダがストリームの先頭部分に集約され、その後に、符号化後の量子化データが並べられる。
【００１９】
しかしながら、このような特徴を有するストリームを、算術符号化を伴う符号化方式により生成することは、現状では困難が伴う。
【００２０】
例えば、各種のヘッダをストリームの先頭部分に集約させるために、これらヘッダから符号化を行う場合、量子化データの算術符号化に用いる確率テーブルを特定するために、すでに符号化された複数のヘッダをそれぞれ復号する必要がある。
【００２１】
つまり、算術符号化のような圧縮率の高い符号化方式を採用するストリーム生成装置により、データパーティショニングが施されたストリームを生成する場合、処理効率を大きく低下させるような非効率的な処理が必要となる。
【００２２】
その結果、このようなストリーム生成装置では、例えば、処理時間の増加、処理能力の増強の必要、または、消費電力の増加が生じるという問題がある。
【００２３】
このような問題を解決するために、本発明の一態様に係るストリーム生成装置は、量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成装置であって、前記量子化データに対する前記圧縮符号化に必要な情報の、前記ヘッダにおける位置を特定するための情報である符号化関連情報を、前記ヘッダに挿入する挿入部と、前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化部と、前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、前記ストリーム生成装置に接続された記憶部に転送する第一転送制御部と、前記記憶部から前記中間データを読み出す第二転送制御部と、読み出された前記中間データに含まれる前記ヘッダの、前記符号化関連情報に示される位置から、前記量子化データに対する前記圧縮符号化に必要な情報を抽出する抽出部と、前記抽出部により抽出された情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化部とを備える。
【００２４】
また、本発明の一態様に係るストリーム生成装置は、量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成装置であって、前記ヘッダから、前記量子化データに対する前記圧縮符号化に必要な情報である符号化関連情報を取得し、取得した符号化関連情報を前記入力データに挿入する挿入部と、前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化部と、前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、前記ストリーム生成装置に接続された記憶部に転送する第一転送制御部と、前記記憶部から前記中間データを読み出す第二転送制御部と、読み出された前記中間データから、前記符号化関連情報を抽出する抽出部と、前記抽出部により抽出された前記符号化関連情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化部とを備える。
【００２５】
これらのストリーム生成装置によれば、前段の処理において中間データを生成する。中間データは、量子化データの圧縮符号化に用いられる符号化関連情報を含む第一処理後の入力データである。
【００２６】
符号化関連情報は、具体的には、当該量子化データに対する前記圧縮符号化に必要な情報、または、当該情報のヘッダにおける位置を特定するための情報である。
【００２７】
生成された中間データは、一旦、記憶部に記憶され、後段の処理のために読み出される。その結果、抽出部は、ヘッダの全体を復号するような処理を行うことなく、記憶部から読み出された中間データから、量子化データの圧縮符号化に必要な情報を容易に抽出できる。つまり、符号化関連情報を用いた、量子化データに対する圧縮符号化を効率よく行うことができる。
【００２８】
すなわち、圧縮符号化として算術符号化のような圧縮率の高い方式を採用した場合であっても、例えば、従来のように既に符号化されたヘッダの全体を復号するような処理を行うことなく、データパーティショニングが施されたストリームを生成できる。
【００２９】
また、例えば、前記挿入部は、前記量子化データに対する前記圧縮符号化に必要な情報の前記ヘッダにおける位置を特定するための情報であるフラグを、前記符号化関連情報として前記圧縮符号化に必要な情報の前後に挿入し、前記抽出部は、２つの前記フラグの間に存在する、前記圧縮符号化に必要な情報を抽出するとしてもよい。
【００３０】
また、例えば、前記挿入部は、前記量子化データに対する前記圧縮符号化に必要な情報の前記ヘッダにおける位置を特定するための情報である、前記圧縮符号化に必要な情報の開始位置およびサイズを示すフラグを、前記符号化関連情報として前記圧縮符号化に必要な情報の前に挿入し、前記抽出部は、前記フラグに示される前記開始位置および前記サイズに基づいて、前記圧縮符号化に必要な情報を抽出するとしてもよい。
【００３１】
また、例えば、前記挿入部は、前記符号化関連情報を、前記入力データが有する非圧縮データの直後に挿入し、前記抽出部は、前記非圧縮データの直後に挿入された、前記符号化関連情報を抽出するとしてもよい。
【００３２】
また、例えば、前記挿入部は、前記符号化関連情報を、前記量子化データに挿入し、前記抽出部は、前記中間データに含まれる前記量子化データから前記符号化関連情報を抽出するとしてもよい。
【００３３】
また、例えば、前記挿入部は、前記量子化データに含まれる高周波成分データを、前記圧縮符号化に必要な情報と置き換えることで、前記符号化関連情報を前記量子化データに挿入するとしてもよい。
【００３４】
また、例えば、前記第一転送制御部は、前記中間データを前記記憶部に転送することで、（ｉ）前記中間データに含まれる前記第一処理が行われた後の前記ヘッダを、前記記憶部が備える第一メモリに格納させ、かつ、（ｉｉ）前記中間データに含まれる前記第一処理が行われた後の前記量子化データを、前記記憶部が備える第二メモリであって、前記第一メモリとは物理的に異なる第二メモリに格納させるとしてもよい。
【００３５】
また、例えば、前記第一符号化部は、前記第一処理である、前記ヘッダに対する前記可変長符号化および前記圧縮符号化、ならびに前記量子化データの前記第一転送制御部への入力を行い、前記第二符号化部は、前記第二処理である、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記可変長符号化および前記圧縮符号化を行うとしてもよい。
【００３６】
また、例えば、前記第一符号化部は、前記第一処理である、前記ヘッダに対する前記可変長符号化および前記圧縮符号化、ならびに、前記量子化データに対する可変長符号化を行うとしてもよい。
【００３７】
また、本発明は上記いずれかの態様に係るストリーム生成装置を備える画像符号化装置として実現することもできる。
【００３８】
また、本発明は、上記いずれかの態様に係るストリーム生成装置が実行する特徴的な処理を含むストリーム生成方法として実現することもできる。また、当該ストリーム生成方法が含む各処理をコンピュータに実行させるためのプログラムとして実現すること、および、そのプログラムが記録された記録媒体として実現することもできる。そして、そのプログラムをインターネット等の伝送媒体又はＤＶＤ等の記録媒体を介して配信することもできる。
【００３９】
また、本発明は、上記いずれかの態様に係るストリーム生成装置の構成の一部または全部を含む集積回路として実現することもできる。
【００４０】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム、または記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム、および記録媒体の任意な組み合わせで実現されてもよい。
【００４１】
以下、図面を参照しつつ、本発明の実施の形態について説明する。なお、各図は、模式図であり、必ずしも厳密に図示したものではない。
【００４２】
また、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４３】
（実施の形態１）
図１は、実施の形態１における画像符号化部１００を備えるＡＶ（Ａｕｄｉｏ  ａｎｄ  Ｖｉｓｕａｌ）システム５００の構成例を示す図である。
【００４４】
ＡＶシステム５００は、ストリーム入出力部５１０、メモリ入出力部５１１、内部メモリ５１２、内部制御部５１３、画像復号化部５１４、音声復号化部５１５、画像処理部５１６、音声処理部５１７、音声符号化部５１８、画像入出力部５１９、音声入出力部５２０、および画像符号化部１００を備える。
【００４５】
また、ＡＶシステム５００は外部メモリ５５０と接続されており、外部メモリ５５０との間でのデータのやり取りが可能である。また、ＡＶシステム５００は、外部制御部５６０からの制御信号に従って動作することもできる。
【００４６】
画像符号化部１００は、入力データを符号化することで、動画像を示すストリームを生成するストリーム生成装置２００を有する装置である。ストリーム生成装置２００の構成は、図４を用いて後述する。
【００４７】
画像符号化部１００は、他の機能ブロックとバスで接続され、データおよび制御信号などをやり取りする。なお、ストリーム生成装置２００はストリームの生成過程において、中間データを発生させ、その退避先として外部メモリ５５０または内部メモリ５１２が使用される。
【００４８】
また、ストリーム生成装置２００に対する直接的な動作の制御は、外部制御部５６０によって行われてもよく、内部制御部５１３によって行われてもよい。
【００４９】
ＡＶシステム５００は、このような構成を備えることで、例えば画像入出力部５１９から入力された画像データを用いて、ストリーム生成装置２００を有する画像符号化部１００が、算術符号化とデータパーティショニングとが適用されたストリームを生成することができる。また、生成されたストリームは、ストリーム入出力部５１０から出力され、例えばインターネットを介して外部の再生装置に受信される。
【００５０】
図２は、実施の形態１における画像符号化装置１０の構成概要を示すブロック図である。
【００５１】
図２に示すように、画像符号化装置１０は、画像符号化部１００と、制御部５０と、主記憶メモリ２０とを備える。
【００５２】
主記憶メモリ２０は、データを記憶するためのメモリ（例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））である。
【００５３】
制御部５０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ（図示せず）と、メモリ制御回路（図示せず）とを含む。
【００５４】
画像符号化装置１０において、画像符号化部１００は、入力された画像に対し、画像符号化部１００の外部に設置された主記憶メモリ２０を用いて、制御部５０を介した中間データの退避および復帰を行いながら圧縮したデータを生成する。画像符号化部１００はさらに、圧縮したデータをストリームとして出力する。
【００５５】
つまり、画像符号化部１００が、上述のＡＶシステム５００に備えられた場合、内部メモリ５１２および外部メモリ５５０の少なくとも一方が、主記憶メモリ２０として機能する。
【００５６】
また制御部５０は、画像符号化部１００と主記憶メモリ２０との間のデータの転送を制御するだけでなく、画像符号化部１００の制御も行う。
【００５７】
図３は、実施の形態１における画像符号化部１００の構成概要を示すブロック図である。
【００５８】
図３を用いて、画像符号化部１００の基本的な処理内容を説明する。なお、図２では、図１における制御部５０の図示は省略されている。
【００５９】
画像符号化部１００に入力された画像は、スイッチ１０３を介して、画面内の空間的相関性を利用した予測によって冗長な情報を取り除く面内予測部１０１と、画面間の時間的相関性を利用した予測によって冗長な情報を取り除く面間予測部１０２とに入力される。
【００６０】
スイッチ１０４は、符号化するピクチャのタイプによって、または、面内予測と面間予測の何れが当該画像の符号化に適しているかに応じて、面内予測部１０１および面間予測部１０２の一方を選択する。これにより、入力画像と予測画像との差となる差分画像のデータである差分データが周波数変換部１０５に入力される。
【００６１】
周波数変換部１０５に入力された差分データは、例えば離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ（ＤＣＴ））によって２次元の周波数成分の情報に変換される。この変換により得られたＤＣＴ係数データは、量子化部１０６によって人間の視覚に影響の少ない高周波成分のデータを全て“０”にすることなどで圧縮される。
【００６２】
この量子化部１０６から得られる、比較的低周波成分に集中したデータ（以下「量子化データ」という。）は、ストリーム生成装置２００において、例えば、ジグザク状に走査した順序で、可変長符号化および算術符号化等によって更に圧縮される。ストリーム生成装置２００ではさらに、圧縮されたデータに、符号化タイプ等の符号化情報を示す先頭情報（以下「ヘッダ」という。）が付加され、ストリームとして出力される。
【００６３】
また、量子化データは、再び量子化前の状態に近い情報に復元する為に逆量子化部１０７に入力され、続いて逆周波数変換部１０８によって、元の差分データ、または、これに近似したデータに復元される。
【００６４】
復元されたデータと、当該データに対応する予測画像のデータとが合成される事で、再構成画像が生成される。生成された再構成画像は、そのまま、または、ループフィルタ１０９によるデブロッキング処理が行われた後に主記憶メモリ２０に退避され、その後に面間予測を行う際に、主記憶メモリ２０から読み出される。
【００６５】
なお、周波数変換部１０５および逆周波数変換部１０８は、周波数変換の手法として離散コサイン変換以外の手法を採用してもよい。また、ストリーム生成装置２００における走査順はジグザク以外の方法を適用してもよい。また、ストリーム生成装置２００における圧縮符号化の手法として、可変長符号化および算術符号化以外の手法が採用されてもよい。
【００６６】
図４は、実施の形態１におけるストリーム生成装置２００の構成概要を示すブロック図である。
【００６７】
ストリーム生成装置２００は、前段部２１０と後段部２２０とを備える。前段部２１０および後段部２２０はそれぞれ、ストリーム生成装置２００に接続された、記憶部の一例である主記憶メモリ２０と通信可能である。
【００６８】
ストリーム生成装置２００では、量子化部１０６から入力される量子化データ、および画像を復号する際に必要な情報を示すヘッダを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成し出力する。
【００６９】
なお、本実施の形態では、可変長符号化として２値化が実行され、圧縮符号化として算術符号化が実行される。
【００７０】
算術符号化の処理は、例えばマクロブロックよりも大きい単位であるスライスまたはピクチャなどの単位で行われる。
【００７１】
前段部２１０は、第一処理部２１１と第一転送制御部２１２とを有する。第一処理部２１１は、挿入部２１５と、第一符号化部２１６とを有する。
【００７２】
挿入部２１５は、入力されたヘッダに含まれる情報から得られる、量子化データに対する圧縮符号化に用いられる情報である符号化関連情報を、入力データに挿入する。
【００７３】
本実施の形態では、量子化データに対する圧縮符号化に用いられる情報である符号化関連情報として、圧縮符号化に必要な情報のヘッダにおける位置を特定するための情報の一例であるフラグが、ヘッダに挿入される。
【００７４】
このフラグは、例えば、算術符号化後のデータ列に存在し得ない特異なデータ列によって実現される。より具体的には、フラグは、所定の数以上の“０”または“１”が連続するデータ列などである。
【００７５】
なお、「量子化データに対する圧縮符号化に必要な情報」とは、例えば、当該量子化データを算術符号化する際に参照すべき確率テーブルを特定するための情報である。本実施の形態および他の実施の形態では、当該情報を「確率情報」と表現する。また、確率情報としては、例えば当該量子化データに対応する確率変数が例示される。
【００７６】
また、「量子化データに対する圧縮符号化に必要な情報」の他の例としては、例えば、符号化スキップ情報が挙げられる。符号化スキップ情報とは、例えば量子化データに示される係数値が全てゼロの場合に、当該量子化データに対する圧縮符号化をスキップすべきことを示す情報である。
【００７７】
第一符号化部２１６は、符号化関連情報が挿入される前または後の入力データに対して、ヘッダに対する可変長符号化および前記圧縮符号化を含む第一処理を行う。
【００７８】
本実施の形態では、第一処理として、フラグが挿入されたヘッダに対する２値化および算術符号化、ならびに、量子化データの第一転送制御部２１２への入力が行われる。
【００７９】
なお、ヘッダに挿入されたフラグに対しては、２値化および算術符号化は行われない。そのため、後段部２２０では、算術符号化されたヘッダの中からのフラグの検出を容易に行うことができる。
【００８０】
第一転送制御部２１２は、フラグを含む、第一処理後の入力データである中間データを、主記憶メモリ２０に転送する。具体的には、中間データに含まれる、算術符号化まで行われたヘッダと、入力された状態のままの量子化データとは、主記憶メモリ２０内の、互いに異なる記憶領域に格納される。
【００８１】
つまり、第一転送制御部２１２は、中間データに含まれる、第一処理が行われた後のヘッダと量子化データとを主記憶メモリ２０内の別々の記憶領域に退避させる。
【００８２】
なお、第一転送制御部２１２は、このような退避処理を制御するための、少なくとも２種類の転送制御情報を保持しており、退避処理（転送処理）の際にこれら転送制御情報を参照する。
【００８３】
具体的には、第一転送制御部２１２は、ヘッダが格納される記憶領域に対応する退避転送情報ａと、量子化データが格納される記憶領域に対応する退避転送情報ｂとを保持している。
【００８４】
また、後段部２２０は、第二処理部２２１と第二転送制御部２２２とを有する。第二処理部２２１は、抽出部２２５と、第二符号化部２２６とを有する。
【００８５】
第二転送制御部２２２は、主記憶メモリ２０から中間データを読み出して、第二処理部２２１に転送する。
【００８６】
具体的には、第二転送制御部２２２は、算術符号化まで行われたヘッダを主記憶メモリ２０から読み出して、第二処理部２２１に転送する。第二転送制御部２２２はさらに、２値化および算術符号化がなされていない量子化データを主記憶メモリ２０から読み出して第二処理部２２１に転送する。
【００８７】
第二処理部２２１の抽出部２２５は、第二転送制御部２２２によって読み出された中間データから、符号化関連情報に示される情報を抽出する。
【００８８】
本実施の形態では、抽出部２２５は、中間データが有する算術符号化済みのヘッダに含まれる符号化関連情報であるフラグ（開始フラグ）を検出し、当該開始フラグと次のフラグ（終了フラグ）との間に存在する確率情報を抽出する。より具体的には、開始フラグと終了フラグとの間から読み出された確率情報は復号され、第二符号化部２２６による算術符号化に用いられる。
【００８９】
第二符号化部２２６は、抽出部２２５により抽出された情報を用いた圧縮符号化であって、読み出された中間データに含まれる第一処理後の量子化データに対する圧縮符号化を含む第二処理を行うことで、ストリームを生成する。
【００９０】
本実施の形態では、量子化データは第一処理によって２値化および算術符号化はされておらず、第二符号化部２２６によって２値化および算術符号化される。
【００９１】
また、この算術符号化の際に参照される確率テーブルが、抽出部２２５によって抽出された確率情報によって特定される。さらに、必要に応じて、確率情報に基づく確率テーブルの更新が行われる。
【００９２】
また、第二符号化部２２６は、第一処理および第二処理によって得られた、第一符号化データと第二符号化データとが連なったストリームを生成する。
【００９３】
なお、第一符号化データとは、可変長符号化および圧縮符号化が行われた所定の単位分のヘッダで構成されるデータである。また、第二符号化データとは、可変長符号化および圧縮符号化が行われた所定の単位分の量子化データで構成されたデータである。
【００９４】
より詳細には、本実施の形態では、上述のように、中間データに含まれる、第一処理が行われた後のヘッダと量子化データとは、主記憶メモリ２０において互いに異なる記憶領域に格納されている。
【００９５】
第二転送制御部２２２は、それぞれの記憶領域から、第一処理が行われた後の所定の単位分のヘッダを読み出し、かつ、第一処理が行われた後の所定の単位分の量子化データを読み出す。つまり、主記憶メモリ２０に退避されていた中間データが、第二転送制御部２２２によって復帰される。
【００９６】
また、このように、第二転送制御部２２２によって取得された第一処理が行われた後の所定の単位分のヘッダ、つまり、算術符号化まで行われた所定の単位分のヘッダは、第二処理部２２１に送信され、確率情報の抽出が行われる。
【００９７】
また、第二転送制御部２２２によって読み出された第一処理が行われた後の所定の単位分の量子化データ、つまり、２値化および算術符号化がなされていない所定の単位分の量子化データは、第二処理部２２１に送信され、２値化および算術符号化される。
【００９８】
このようにして得られた、算術符号化まで行われた所定の単位分のヘッダ（第一符号化データ）と、算術符号化まで行われた所定の単位分の量子化データ（第二符号化データ）とは連結され、ストリームとして第二処理部２２１から出力される。
【００９９】
なお、上記の開始フラグおよび終了フラグは、当該ストリームの復号には不要であるため、例えば、第二符号化部２２６が、このストリームの生成の際にこれらフラグを削除する。
【０１００】
また、第二転送制御部２２２は、上述のヘッダおよび量子化データの復帰処理を制御するための、少なくとも２種類の転送制御情報を保持しており、復帰処理（転送処理）の際にこれら転送制御情報を参照する。
【０１０１】
具体的には、第二転送制御部２２２は、ヘッダが格納されている記憶領域に対応する復帰転送情報ａと量子化データが格納されている記憶領域に対応する復帰転送情報ｂとを保持している。
【０１０２】
ストリーム生成装置２００は上記構成を備えることで、データパーティショニングおよび算術符号化の双方が適用されたストリームの生成を実現している。
【０１０３】
また、前段部２１０の第一処理部２１１は、ヘッダに含まれる確率情報の位置を特定するためのフラグをヘッダに挿入する。これにより、後段部２２０の第二処理部２２１は、ヘッダに含まれる確率情報の位置を容易に認識できる。その結果、第二処理部２２１は、ヘッダの全体を復号することなく、確率情報のみを復号することができ、これにより得られた確率情報を、量子化データの算術符号化に用いることができる。
【０１０４】
なお、本実施の形態において、第一処理部２１１および第二処理部２２１のそれぞれは、２値化と算術符号化とを含む処理を行う。この処理において発生する２値データの退避領域としては、例えば、主記憶メモリ２０内の所定の記憶領域、またはストリーム生成装置２００の内部の記憶領域（図示せず）が利用される。
【０１０５】
図５は、実施の形態１における、前段部２１０から主記憶メモリ２０に転送される中間データの構成の一例を示す図である。
【０１０６】
図５に示すように、実施の形態１における中間データは、ヘッダと量子化データとを含む。
【０１０７】
具体的には、ヘッダ１、ヘッダ２、およびヘッダ３の３種類のヘッダが中間データに含まれている。
【０１０８】
ヘッダ１は、非算術符号化区間に含まれており、フレーム情報、バージョン情報、ストリームスタートコード、および画角情報等を含んでいる。
【０１０９】
ヘッダ２は、例えばフレームヘッダであり、例えばマクロブロック単位の量子化データのサイズを示すサイズ情報（以下、「区切り情報」という。）を有している。また、より詳細には、ヘッダ２には、算術符号化されたフレーム情報を復号するために必要な補正情報、フィルタ情報およびＢｏｏｌｅａｎ確率情報なども格納されている。
【０１１０】
ヘッダ３は、例えば所定の単位分（例えば１ピクチャを構成するｎ個）のマクロブロックヘッダ（図５では“ＭＨ”と表記）で構成されており、各マクロブロックヘッダは、自身に対応する量子化データの算術符号化に必要な確率情報を有している。なお、当該所定の単位としてはピクチャまたはスライスが例示される。
【０１１１】
また、図５において、ヘッダ３の直後に配置された量子化データは、当該ヘッダ３に対応する量子化データである。つまり、ヘッダ３の直後のデータ部分は、当該所定の単位分のマクロブロックごとの量子化データが連なることで構成されている。
【０１１２】
また、量子化データは、算術符号化区間に含まれるが、量子化データに対する２値化および算術符号化は、上述のように中間データが後段部２２０に取得された後に、第二処理部２２１によって実行される。そのため、中間データが前段部２１０から主記憶メモリ２０に転送される時点では、量子化データは、２値化および算術符号化がなされていない状態である。
【０１１３】
後段部２２０の第二処理部２２１は、上述のヘッダ２に含まれる区切り情報を参照することで、中間データに含まれる所定の単位分の量子化データを、マクロブロックごとの量子化データに分割することができる。
【０１１４】
また、本実施の形態における中間データでは、確率情報およびの区切り情報の前後に、挿入部２１５によりフラグが挿入されている。
【０１１５】
具体的には、確率情報および区切り情報の前に、開始フラグ（Ｓ−フラグ）が挿入され、確率情報および区切り情報の後に、終了フラグ（Ｅ−フラグ）が挿入されている。
【０１１６】
これらフラグは、上述のように、特異なデータ列であり、第一符号化部２１６による、ヘッダ２およびヘッダ３に対する２値化および算術符号化の際には、これらフラグはスキップされる。つまり、これらフラグは特異なデータ列のまま中間データに残される。
【０１１７】
そのため、後段部２２０の第二処理部２２１は、Ｓ−フラグとＥ−フラグとを容易に検出することができる。すなわち、第二処理部２２１は、Ｓ−フラグとＥ−フラグとの間に存在する確率情報または区切り情報を容易に抽出することができる。
【０１１８】
具体的には、第二処理部２２１の抽出部２２５は、ヘッダに含まれる、Ｓ−フラグの直後からＥ−フラグまでのデータを読み出し、読み出したデータのみを復号する。これにより、当該Ｓ−フラグと当該Ｅ−フラグとの間に存在していた確率情報または区切り情報が抽出される。
【０１１９】
なお、Ｓ−フラグとＥ−フラグとの組で、確率情報の位置を特定するのではなく、例えば、図５の右下の図に示すように、Ｓ−フラグに、確率情報のサイズを示すサイズ情報を含ませてもよい。この場合も、後段部２２０に、確率情報を容易に取得させることができる。
【０１２０】
つまり、この場合は、Ｅ−フラグは不要であり、抽出部２２５は、Ｓ−フラグに示される、確率情報の開始位置（例えば、当該Ｓ−フラグの直後）と当該サイズ情報とに基づいて確率情報を抽出することができる。
【０１２１】
また、区切り情報についても同様に、開始位置を示すＳ−フラグに、区切り情報のサイズを示すサイズ情報を含ませることで、区切り情報の位置が特定されてもよい。
【０１２２】
また、Ｅ−フラグは、当該Ｅ−フラグの直後に確率情報等が存在する場合は、当該確率情報等の開始位置を示す情報としても扱われる。つまり、量子化データに対する算術符号化に必要な複数種類の情報が連続する場合、これら複数種類の情報の間に配置するＥ−フラグは、当該Ｅ−フラグの直前の情報の終端位置を示す情報としてだけでなく、当該Ｅ−フラグの直後の情報の開始位置を示す情報としても扱われる。
【０１２３】
また、あるヘッダにおいて連続して存在する複数種類の情報が、一組のＳ−フラグとＥ−フラグとで挟み込まれるように、当該ヘッダにＳ−フラグとＥ−フラグとが挿入されてもよい。
【０１２４】
いずれの場合であっても、後段部２２０では、Ｓ−フラグ、またはＳ−フラグとＥフラグとを検出することで、量子化データに対する算術符号化に必要な情報を容易に取得することができる。
【０１２５】
また、図５では、前段部２１０から主記憶メモリ２０に転送される中間データの構成概要が表されており、ヘッダ（ヘッダ１〜３）と、量子化データとが連続するように図示されている。しかし、主記憶メモリ２０では、上述のように、ヘッダ（ヘッダ１〜３）と、量子化データとはそれぞれ、別の記憶領域に格納されている。
【０１２６】
以上説明した、実施の形態１におけるストリーム生成装置２００を備える画像符号化部１００の処理の流れを、図６〜図７Ｂのフローチャートを参照しながら説明する。
【０１２７】
図６は、実施の形態１における画像符号化部１００の処理の流れの一例を示すフローチャートである。
【０１２８】
まず、画像符号化を行う際に用いられるパラメータである、画像サイズ、フレームレート、およびビットレート等が予め設定される（Ｓ１００）。当該設定の後に、画像データが画像符号化部１００に入力される。
【０１２９】
入力された画像データ（入力データ）は、ピクチャ等の所定の単位で処理が繰り返され、その中に、マクロブロック等のブロック単位の符号化処理と、これによって生成される中間データをストリームデータに変換する処理とが用意される。
【０１３０】
例えば、マクロブロック単位で、上述の面内予測および面間予測が行われる（Ｓ１１０）。また、周波数変換および量子化によって量子化データが生成され、復号の際に必要となるヘッダが生成される（Ｓ１１５）。
【０１３１】
このようにして生成されたヘッダおよび量子化データは、ストリーム生成装置２００に入力され、符号化＿１が実行される（Ｓ１２０）。符号化＿１では、第一処理部２１１によって、これらヘッダおよび量子化データに対する第一処理が行なわれ、第一転送制御部２１２により、当該第一処理によって得られた、符号化関連情報を含む中間データが主記憶メモリ２０に転送される。
【０１３２】
また、例えば１ピクチャ分の全てのマクロブロックについて符号化＿１（Ｓ１２０）が終了すると、ストリーム生成装置２００によって符号化＿２が実行される（Ｓ１５０）。
【０１３３】
符号化＿２では、第二転送制御部２２２によって、当該１ピクチャ分の中間データ（第一処理が行われた後のヘッダおよび量子化データ）が読み出され、第二処理部２２１によって、当該１ピクチャ分の中間データに対する第二処理が行われる。
【０１３４】
このような処理の結果、ストリーム生成装置２００から、各種ヘッダが所定の範囲内に集約されたストリーム、つまり、データパーティショニングが施されたストリームが出力される。
【０１３５】
図７Ａは、図６に示す符号化＿１における処理の流れの一例を示すフローチャートである。
【０１３６】
前段部２１０の第一処理部２１１では、処理対象の入力データがヘッダであるか否かの判断が行われる（Ｓ１２１）。入力データがヘッダではない場合（Ｓ１２１でＮｏ）、つまり、入力データが量子化データである場合、当該量子化データの符号量が計測されその計測結果が累積される（Ｓ１２２）。また当該量子化データは、本実施の形態では、第一符号化部２１６による符号化は行われず、そのまま、第一転送制御部２１２に入力される。
【０１３７】
また、処理対象の入力データがヘッダである場合（Ｓ１２１でＹｅｓ）、挿入部２１５による、当該ヘッダへのフラグの挿入処理（Ｓ１２３、Ｓ１２４）が行われる。
【０１３８】
具体的には、当該ヘッダのデータフィールドごとに、フラグの挿入が必要か否かの判断が行われる（Ｓ１２３）。つまり、判断対象のデータフィールドが、確率情報等の、量子化データに対する算術符号化に必要な情報を含むデータフィールドである場合、フラグの挿入が必要と判断される（Ｓ１２３でＹｅｓ）。その結果、挿入部２１５は、当該データフィールドの前後にフラグ（Ｓ−フラグ、Ｅ−フラグ）を挿入する（Ｓ１２４）。
【０１３９】
なお、このとき、挿入部２１５は、図５の説明で述べたように、当該データフィールドの前に、当該データフィールドのサイズを示す情報を含むＳ−フラグを挿入し、Ｅ−フラグの挿入を省略してもよい。
【０１４０】
フラグの挿入処理（Ｓ１２３、Ｓ１２４）を経たヘッダは、第一符号化部２１６によって２値化され（Ｓ１３０）、算術符号化される（Ｓ１３１）。なお、この２値化および算術符号化の処理では、上述のように、当該ヘッダ挿入されたフラグはスキップされる。
【０１４１】
具体的には、フラグは特異なデータ列であるため、第一符号化部２１６は、処理対象のデータがフラグであるか否かを容易に判別することができ、フラグである場合は２値化および算術符号化を行わずに出力する。そのため、当該フラグは、後段部２２０で検出が容易な特異なデータ列のままである。
【０１４２】
なお、フラグ挿入、２値化、および算術符号化（Ｓ１２４、Ｓ１３０、Ｓ１３１）は、この順番で行われなくてもよい。例えば、挿入部２１５により、あるヘッダについてフラグの挿入位置が特定された後に、第一符号化部２１６が当該ヘッダを２値化する。その後に、挿入部２１５が、特定した挿入位置と、２値化によるデータ長の変化量とに基づいて、フラグを挿入すべき位置を算出し、算出した位置にフラグを挿入する。さらに、第一符号化部２１６は、当該ヘッダのフラグ以外の部分を算術符号化する。
【０１４３】
このような処理によっても、符号化関連情報であるフラグのヘッダへの挿入と当該ヘッダの算術符号化とが適切に実行される。
【０１４４】
その後、算術符号化まで行われたヘッダについて符号量の計測および累積が行われる（Ｓ１３２）。
【０１４５】
第一転送制御部２１２は、処理対象が例えばマクロブロック単位のヘッダまたは量子化データの終端である場合（Ｓ１３３でＹｅｓ）、当該終端に対し、次のヘッダまたは量子化データと連結する為の終端処理を行う（Ｓ１３４）。
【０１４６】
第一転送制御部２１２はさらに、上記処理により得られた中間データ（２値化および算術符号化がなされたヘッダ、または、２値化および算術符号化がなされていない量子化データ）を、図５に示すデータフォーマットに従って主記憶メモリ２０に退避させる（Ｓ１３５）。
【０１４７】
その後、例えば、主記憶メモリ２０に転送すべきデータがなくなった場合（Ｓ１３６でＹｅｓ）、符号化＿１の処理は終了する。
【０１４８】
図７Ｂは、図６に示す符号化＿２における処理の流れの一例を示すフローチャートである。
【０１４９】
後段部２２０の第二転送制御部２２２は、中間データを主記憶メモリ２０から復帰させる（Ｓ１５１）。つまり中間データが主記憶メモリ２０から読み出される。
【０１５０】
第二転送制御部２２２は、読み出した中間データがヘッダでない場合（Ｓ１５２でＮｏ）、つまり、第二転送制御部２２２は、量子化データを読み出した場合、読み出したデータの符号量の計測を行い、計測結果と量子化データの総符号量とを比較する（Ｓ１５３）。この比較の結果は、後述する終端判断（Ｓ１６０）に用いられる。また、当該量子化データは、第二処理部２２１に送信される。
【０１５１】
また、第二転送制御部２２２は、中間データとしてヘッダを読み出した場合（Ｓ１５２でＹｅｓ）、当該ヘッダは、第二処理部２２１に送信される。抽出部２２５は、当該ヘッダについてフラグの有無を確認する（Ｓ１５４）。
【０１５２】
当該ヘッダにフラグが含まれる場合（Ｓ１５４でＹｅｓ）、抽出部２２５は、当該フラグに示される位置に存在する確率情報を抽出する（Ｓ１５５）。本実施の形態では、抽出部２２５は、上述のようにＳ−フラグとＥ−フラグとの間に存在する確率情報を読み出して復号する。
【０１５３】
なお、当該フローチャートに示される処理例では、量子化データに対する算術符号化に必要な情報として、確率情報が抽出される場合の処理の流れを示している。しかし、Ｓ−フラグとＥ−フラグとの間に、区切り情報（図５参照）が存在する場合も確率情報と同様に、抽出部２２５よって区切り情報が読み出され、復号される。
【０１５４】
このようにして抽出された確率情報および区切り情報は、第二符号化部２２６に送信される。第二符号化部２２６は、受信した区切り情報を用いて、第二転送制御部２２２から受信した量子化データをマクロブロック単位に分割する。
【０１５５】
また、第二符号化部２２６は、受信した確率情報を用いて、当該確率情報に対応する量子化データの算術符号化に用いる確率テーブルの特定および更新等を行う（Ｓ１５６）。
【０１５６】
なお、個々の確率情報と、個々の量子化データとの対応関係は、中間データにおけるこれらの並び順（図５参照）によって規定される。例えば、図５においてｎ個存在するマクロブロックヘッダのうちの左からｋ番目のマクロブロックヘッダから取得された確率情報は、図５においてｎ個存在するマクロブロック単位の量子化データのうちの左からｋ番目の量子化データに対応する。
【０１５７】
また、処理対象のデータの符号量の計測、および、計測結果と当該ヘッダの総符号量との比較が行われる（Ｓ１５７）。この比較の結果は、後述する終端判断（Ｓ１６０）に用いられる。
【０１５８】
また、第二符号化部２２６は、マクロブロック単位の量子化データの２値化（Ｓ１５８）と算術符号化（Ｓ１５９）とを行う。この算術符号化には、必要に応じた更新（Ｓ１５６）がなされた後の確率テーブルが参照される。
【０１５９】
また、第二転送制御部２２２は、上記比較（Ｓ１５３、Ｓ１５７）の結果から、処理対象のデータがヘッダまたは量子化データの終端である事を検出すると（Ｓ１６０でＹｅｓ）、終端処理を行う（Ｓ１６１）。
【０１６０】
その後、例えば、処理対象のデータがピクチャの終端である場合（Ｓ１６２でＹｅｓ）、第二符号化部２２６により、１ピクチャ分の算術符号化済みの複数のヘッダと、当該複数のヘッダに対応する算術符号化済みの量子化データとが連続したストリームが生成され出力される。処理対象のデータがピクチャの終端でない場合（Ｓ１６２でＮｏ）、再度、符号化＿２の処理が実行される。
【０１６１】
このように、本実施の形態におけるストリーム生成装置２００では、前段部２１０の第一処理部２１１で、量子化データに対する算術符号化に用いられる情報である符号化関連情報（本実施の形態ではフラグ）が挿入された中間データが生成される。
【０１６２】
そのため、このような中間データを受け取った後段部２２０の抽出部２２５は、算術符号化まで行われたヘッダの全体を復号することなく、本来的に必要な部分のみを復号することができる。これにより、量子化データに対する算術符号化に必要な情報（確率情報など）が効率よく取得される。
【０１６３】
つまり、複数のヘッダを各ヘッダに対応する量子化データと切り離して、ストリームの先頭部分に集約させる場合、量子化データよりも先に複数のヘッダに対する算術符号化が行われる。その結果、算術符号化済みのヘッダ内に量子化データの算術符号化に必要な情報が存在することになる。
【０１６４】
このような場合でも、ストリーム生成装置２００の前段部２１０が、算術符号化済みのヘッダにおける当該必要な情報の位置を特定するためのフラグを当該ヘッダに挿入することによって、後段部２２０は、量子化データの算術符号化を効率的に実行することができる。
【０１６５】
ここで、量子化データの算術符号化に必要な情報を、算術符号化する前のヘッダから取得し、中間データの伝送経路とは別の経路で、前段部２１０から後段部２２０に伝送することも考えられる。
【０１６６】
しかし、この場合、算術符号化を実行する装置に、このような情報の伝送経路を新たに設ける必要があり、かつ、量子化データと、当該量子化データの算術符号化に必要な情報との同期をとるための仕組みも新たに必要となる。すなわち、このような情報の伝送経路を新たに設けることは、例えば、当該装置の構成および制御の煩雑化を招くため、現実的に採りうる方策ではない。
【０１６７】
すなわち、本実施の形態におけるストリーム生成装置２００によれば、量子化データの算術符号化に必要な情報の伝送経路を、中間データの伝送経路とは別に設けることなく、算術符号化とデータパーティショニングとが適用されたストリームの効率的な生成を実現している。
【０１６８】
このように、本実施の形態におけるストリーム生成装置２００によれば、高いエラー耐性と高圧縮とが両立されたストリームの効率のよい生成が実現される。
【０１６９】
（実施の形態２）
次に、実施の形態２として、実施の形態１とは異なるデータ構成を有する中間データを生成するストリーム生成装置２００について説明する。
【０１７０】
なお、実施の形態２におけるストリーム生成装置２００の基本的な構成は、図４に示す実施の形態１におけるストリーム生成装置２００の基本的な構成と同じであり、ここでの詳細な説明は省略する。
【０１７１】
また、実施の形態２におけるストリーム生成装置２００は、実施の形態１におけるストリーム生成装置２００と同様に、画像符号化部１００に備えられ（図１〜図３参照）、入力された画像データを符号化し、ストリームを生成する装置として機能することができる。
【０１７２】
さらに、実施の形態２におけるストリーム生成装置２００を備える画像符号化部１００の基本的な処理の流れも、図６に示す処理の流れと同じであり、ここでの詳細な説明は省略する。
【０１７３】
以下、図８および図９を用いて、実施の形態２におけるストリーム生成装置２００の特徴的な処理内容について説明する。
【０１７４】
図８は、実施の形態２における、前段部２１０から主記憶メモリ２０に転送される中間データの構成の一例を示す図である。
【０１７５】
図８に示すように、実施の形態２における中間データは、実施の形態１における中間データと同じく、ヘッダと量子化データとを含む。また、ヘッダ１、ヘッダ２、およびヘッダ３の３種類のヘッダが中間データに含まれている。
【０１７６】
しかし、各マクロブロックヘッダには、確率情報の位置を特定するためのフラグは挿入されておらず、各マクロブロックヘッダに含まれる確率情報が非算術符号化区間のヘッダ１の直後に挿入されている。
【０１７７】
すなわち、図８に示す例の場合、ｎ個のマクロブロックヘッダそれぞれから確率情報がコピーされ、コピーされたｎ個分の確率情報が、符号化関連情報として、非圧縮データであるヘッダ１の直後に挿入されている。
【０１７８】
これにより、後段部２２０の抽出部２２５は、確率情報を容易に読み出すことができ、復号することができる。つまり、確率情報が容易に抽出される。
【０１７９】
なお、ヘッダ１の直後に挿入される確率情報は、最終的なストリームには不要であるため、例えば、第二符号化部２２６によって最終的には削除される。
【０１８０】
また、例えば、ヘッダ１の直後に挿入される確率情報を固定長とすることで、抽出部２２５は、非圧縮データであるヘッダ１の直後からどの位置までを復号すればよいかを認識できる。
【０１８１】
また、例えば、ヘッダ１の直後に挿入される確率情報も非圧縮（算術符号化しない）とすることによっても、抽出部２２５は当該確率情報を容易に抽出することができる。
【０１８２】
また、図８では、実施の形態１と同じく、ヘッダ２内の区切り情報の位置がフラグ（Ｓ−フラグ、Ｅ−フラグ）によって示されている。しかし、この区切り情報も、確率情報と同様に、ヘッダ２からコピーされ、例えば、ヘッダ１と確率情報との間に挿入されてもよい。
【０１８３】
また、実施の形態２における中間データも、実施の形態１における中間データと同じく、主記憶メモリ２０に格納される際には、ヘッダ（ヘッダ１〜３と、ヘッダ１の直後の確率情報とを含む）と、量子化データとはそれぞれ、別の記憶領域に格納される。
【０１８４】
図９は、実施の形態２における符号化＿１の処理の流れの一例を示すフローチャートである。
【０１８５】
なお、図９に示す処理の流れは、図７Ａに示す実施の形態１における符号化＿１の処理の流れと比較すると、Ｓ１２６とＳ１２７の処理のみが異なるため、これら処理を中心に説明する。
【０１８６】
実施の形態２における前段部２１０の第一処理部２１１では、処理対象の入力データがヘッダである場合（Ｓ１２１でＹｅｓ）、挿入部２１５による、当該ヘッダからの確率情報の取得（Ｓ１２６）が行われる。
【０１８７】
挿入部２１５は、当該ヘッダよりも先に入力データとして受け取っている非圧縮データ（ヘッダ１）の直後に当該確率情報を挿入する（Ｓ１２７）。
【０１８８】
なお、上記Ｓ１２６およびＳ１２７の処理は、確率情報を有するヘッダが挿入部２１５に入力される度に行われる。
【０１８９】
また、区切り情報については、図９に示す処理の流れでは省略しているが、例えば、実施の形態１と同じく、フラグの挿入処理（図７ＡのＳ１２３、Ｓ１２４）により、ヘッダ２に、区切り情報の位置を特定するためのフラグ（Ｓ−フラグ、Ｅ−フラグ）が挿入される。
【０１９０】
その後、当該ヘッダの２値化（Ｓ１３０）等の処理が行われ、図８に示すデータフォーマットで主記憶メモリ２０に格納される。
【０１９１】
その後、後段部２２０により符号化＿２の処理が行われる。具体的には、第二転送制御部２２２によって、主記憶メモリ２０から中間データが読み出される。抽出部２２５は、読み出された中間データにおいて非圧縮データ（ヘッダ１）の直後に存在する確率情報を抽出する。
【０１９２】
抽出された確率情報は、第二符号化部２２６による量子化データの算術符号化に用いられる。その結果、実施の形態１と同じく、算術符号化とデータパーティショニングとが適用されたストリームが生成される。
【０１９３】
このように、実施の形態２におけるストリーム生成装置２００では、実施の形態１と同じく、前段部２１０の第一処理部２１１で、量子化データに対する算術符号化に用いられる情報である符号化関連情報が挿入された中間データが生成される。
【０１９４】
なお、実施の形態２では、確率情報等の、量子化データの算術符号化に必要な情報が、符号化関連情報として非圧縮データ（ヘッダ１）の直後に挿入される。
【０１９５】
そのため、このような中間データを受け取った後段部２２０の抽出部２２５は、算術符号化まで行われたヘッダの全体を復号することなく、本来的に必要な部分のみを復号することができる。つまり、量子化データに対する算術符号化に必要な情報（確率情報など）が効率よく取得される。その結果、算術符号化とデータパーティショニングとが適用されたストリームの効率のよい生成が実現される。
【０１９６】
すなわち、本実施の形態におけるストリーム生成装置２００によれば、高いエラー耐性と高圧縮とが両立されたストリームの効率のよい生成が実現される。
【０１９７】
（実施の形態３）
次に、実施の形態３として、実施の形態１および２とは異なるデータ構成を有する中間データを生成するストリーム生成装置２００について説明する。
【０１９８】
なお、実施の形態３におけるストリーム生成装置２００の基本的な構成は、図４に示す実施の形態１におけるストリーム生成装置２００の基本的な構成と同じであり、ここでの詳細な説明は省略する。
【０１９９】
また、実施の形態３におけるストリーム生成装置２００は、実施の形態１におけるストリーム生成装置２００と同様に、画像符号化部１００に備えられ（図１〜図３参照）、入力された画像データを符号化し、ストリームを生成する装置として機能することができる。
【０２００】
さらに、実施の形態３におけるストリーム生成装置２００を備える画像符号化部１００の基本的な処理の流れも、図６に示す処理の流れと同じであり、ここでの詳細な説明は省略する。
【０２０１】
以下、図１０〜図１１Ｂを用いて、実施の形態３におけるストリーム生成装置２００の特徴的な処理内容について説明する。
【０２０２】
図１０は、実施の形態３における、前段部２１０から主記憶メモリ２０に転送される中間データの構成の一例を示す図である。
【０２０３】
図１０に示すように、実施の形態３における中間データは、実施の形態１における中間データと同じく、ヘッダと量子化データとを含む。また、ヘッダ１、ヘッダ２、およびヘッダ３の３種類のヘッダが中間データに含まれている。
【０２０４】
しかし、各マクロブロックヘッダには、確率情報の位置を特定するためのフラグは挿入されておらず、マクロブロック単位の量子化データのそれぞれに確率情報が挿入されている。
【０２０５】
具体的には、挿入部２１５が、量子化データが有する量子化後の高周波領域のＤＣＴ係数データ（高周波成分データ）を、当該量子化データに対応する確率情報と置き換える。これにより、当該確率情報が当該量子化データに挿入される。
【０２０６】
また、例えば、上述の符号化スキップ情報が、量子化データに対する圧縮符号化に必要な情報として、高周波成分データと置き換えられてもよい。
【０２０７】
ここで、高周波成分データは、０（ゼロ）係数が連続している可能性が高く、仮にこの高周波成分データのデータ領域を全て０係数で置き換えたとしても、人間が視認する画質に与える影響は極めて少ない。
【０２０８】
そこで、このデータ領域を、確率情報等の、圧縮符号化に必要な情報の埋め込み領域として利用し、例えば、最終的なストリームの生成の段階で、一旦埋め込んだ確率情報を全て０係数に置き換える。
【０２０９】
こうすることで、例えば、実質的な画質を維持しつつ、中間データに対する処理効率の低下を抑制することができる。
【０２１０】
また、量子化データは、前段部２１０では符号化されないため、後段部２２０の抽出部２２５は、マクロブロック単位の量子化データのそれぞれから、確率情報を容易に抽出することができる。
【０２１１】
なお、マクロブロック単位の量子化データを得るための区切り情報は、例えば、実施の形態１と同じく、ヘッダ２に挿入されるＳ−フラグおよびＥ−フラグとにより特定される。
【０２１２】
図１１Ａは、実施の形態３における符号化＿１の処理の流れの一例を示すフローチャートである。
【０２１３】
前段部２１０の第一処理部２１１では、処理対象の入力データがヘッダであるか否かの判断が行われる（Ｓ２２１）。処理対象の入力データがヘッダである場合（Ｓ２２１でＹｅｓ）、挿入部２１５により当該ヘッダから確率情報が取得される（Ｓ２２５）。
【０２１４】
なお、取得された複数の確率情報は、例えば取得された順に、挿入部２１５が有する所定の記憶領域に格納され、後の量子化データへの挿入（Ｓ２２３）の際に、取得された順に読みだされる。
【０２１５】
その後、当該ヘッダは、第一符号化部２１６によって２値化され（Ｓ２３０）、算術符号化される（Ｓ２３１）。その後、算術符号化まで行われたヘッダについて符号量の計測および累積が行われる（Ｓ２３２）。
【０２１６】
また、入力データがヘッダではない場合（Ｓ２２１でＮｏ）、つまり、入力データが量子化データである場合、当該量子化データの符号量が計測されその計測結果が累積される（Ｓ２２２）。
【０２１７】
挿入部２１５は、上記の確率情報の取得処理（Ｓ２２５）によって取得し保持している、当該量子化データに対応する確率情報を、当該量子化データに挿入する（Ｓ２２３）。
【０２１８】
その後、第一転送制御部２１２は、処理対象が例えばマクロブロック単位のヘッダまたは量子化データの終端である場合（Ｓ２３３でＹｅｓ）、当該終端に対し、次のヘッダまたは量子化データと連結する為の終端処理を行う（Ｓ２３４）。
【０２１９】
第一転送制御部２１２はさらに、上記処理により得られた中間データ（２値化および算術符号化がなされたヘッダ、または、２値化および算術符号化がなされていない量子化データ）を、図１０に示すデータフォーマットに従って主記憶メモリ２０に退避させる（Ｓ２３５）。
【０２２０】
その後、例えば、主記憶メモリ２０に転送すべきデータがなくなった場合（Ｓ２３６でＹｅｓ）、符号化＿１の処理は終了する。
【０２２１】
図１１Ｂは、実施の形態３における符号化＿２の処理の流れの一例を示すフローチャートである。
【０２２２】
後段部２２０の第二転送制御部２２２は、中間データを主記憶メモリ２０から復帰させる（Ｓ２４１）。つまり中間データが主記憶メモリ２０から読み出される。
【０２２３】
第二転送制御部２２２は、中間データとしてヘッダを読み出した場合（Ｓ２４２でＹｅｓ）、読み出したデータの符号量の計測を行い、計測結果とヘッダの総符号量とを比較する（Ｓ２４３）。また、当該ヘッダは、第二処理部２２１に送信される。
【０２２４】
また、読み出した中間データがヘッダでない場合（Ｓ２４２でＮｏ）、つまり、第二転送制御部２２２が量子化データを読み出した場合、当該量子化データは第二処理部２２１に送信される。
【０２２５】
第二処理部２２１の抽出部２２５は、当該量子化データから確率情報を抽出する（Ｓ２４４）。抽出された確率情報は第二符号化部２２６に渡され、第二符号化部２２６は、当該確率情報を用いて、当該確率情報に対応する量子化データの算術符号化に用いる確率テーブルの特定および更新等を行う（Ｓ２４５）。
【０２２６】
さらに当該量子化データの符号量の計測、および、計測結果と量子化データの総符号量との比較が行われる（Ｓ２４６）。
【０２２７】
また、第二符号化部２２６は、当該量子化データの２値化（Ｓ２４７）と算術符号化（Ｓ２４８）とを行う。この算術符号化には、上記の更新（Ｓ２４５）がなされた後の確率テーブルが参照される。
【０２２８】
また、第二転送制御部２２２は、上記比較（Ｓ２４３、Ｓ２４６）の結果から、処理対象のデータがヘッダまたは量子化データの終端である事を検出すると（Ｓ２４９でＹｅｓ）、終端処理を行う（Ｓ２５０）。
【０２２９】
その後、例えば、処理対象のデータがピクチャの終端である場合（Ｓ２５１でＹｅｓ）、第二符号化部２２６により、１ピクチャ分の算術符号化済みの複数のヘッダと、当該複数のヘッダに対応する算術符号化済みの量子化データとが連続したストリームが生成され出力される。処理対象のデータがピクチャの終端でない場合（Ｓ２５１でＮｏ）、再度、符号化＿２の処理が実行される。
【０２３０】
このように、実施の形態３におけるストリーム生成装置２００では、実施の形態１および２と同じく、前段部２１０の第一処理部２１１で、量子化データに対する算術符号化に用いられる情報である符号化関連情報が挿入された中間データが生成される。
【０２３１】
なお、実施の形態３では、確率情報等の、量子化データの算術符号化に必要な情報が、符号化関連情報として量子化データに挿入される。また、量子化データの算術符号化に必要な情報を含む量子化データは、２値化および算術符号化がなされずに、中間データとして主記憶メモリ２０に格納される。
【０２３２】
そのため、このような中間データを主記憶メモリ２０から取得した後段部２２０の抽出部２２５は、中間データに含まれる量子化データから、当該量子化データの算術符号化に必要な情報を容易に抽出することができる。その結果、算術符号化とデータパーティショニングとが適用されたストリームの効率のよい生成が実現される。
【０２３３】
また、量子化データの算術符号化に必要な情報は、当該量子化データが有する高周波領域の量子化後のＤＣＴ係数データ（高周波成分データ）と置き換えられることで、当該量子化データに挿入される。そのため、実質的な画質を維持しつつ、中間データに対する処理効率の低下を抑制することができる。
【０２３４】
このように、本実施の形態におけるストリーム生成装置２００によれば、高いエラー耐性と高圧縮とが両立されたストリームの効率のよい生成が実現される。
【０２３５】
（実施の形態１〜３の補足）
上述の実施の形態１〜３のそれぞれでは、符号化関連情報を含む第一処理後の入力データである中間データが、前段部２１０から主記憶メモリ２０に転送される。このとき、具体的には、中間データに含まれる、算術符号化まで行われたヘッダと、入力された状態のままの量子化データとは、主記憶メモリ２０内の互いに異なる記憶領域に格納される。
【０２３６】
このような役割を果たす主記憶メモリ２０を、物理的に互いに異なる２つのメモリに置き換え、一方のメモリにヘッダを格納させ、他方のメモリに量子化データを格納させてもよい。
【０２３７】
図１２は、画像符号化装置１０が、中間データの退避のための２つのメモリを有する場合の構成概要を示すブロック図である。
【０２３８】
具体的には、画像符号化部１００は、制御部５０を介して、第一主記憶メモリ２１と第二主記憶メモリ２２とに接続されている。
【０２３９】
図１３は、ストリーム生成装置２００に、第一主記憶メモリ２１と第二主記憶メモリ２２とが接続された場合の構成概要を示すブロック図である。
【０２４０】
図１３において、例えば、第一主記憶メモリ２１がヘッダ用のメモリであり、第二主記憶メモリ２２が量子化データ用のメモリである場合を想定する。つまり、第一主記憶メモリ２１と第二主記憶メモリ２２とによって、中間データを一時的に格納する記憶部２０ａが構成されている場合を想定する。この場合、以下のような処理が行われる。
【０２４１】
第一転送制御部２１２は、第一処理部２１１によって生成された中間データを記憶部２０ａに転送することで、（ｉ）中間データに含まれる第一処理が行われた後のヘッダを、当該記憶部２０ａが備える第一主記憶メモリ２１に格納させ、かつ、（ｉｉ）中間データに含まれる第一処理が行われた後の量子化データを、当該記憶部２０ａが備える第二主記憶メモリ２２であって、第一主記憶メモリ２１とは物理的に異なる第二主記憶メモリ２２に格納させる。
【０２４２】
より詳細には、第一転送制御部２１２が有するヘッダ・データ分離回路２１３は、退避転送情報ａに従って、算術符号化済みのヘッダを第一主記憶メモリ２１に転送する。また、ヘッダ・データ分離回路２１３は、退避転送情報ｂに従って、２値化および算術符号化がなされていない量子化データを第二主記憶メモリ２２に転送する。
【０２４３】
また、第二転送制御部２２２が有するヘッダ・データ連結回路２２３は、復帰転送情報ａに従って、ピクチャ等の所定の単位分のヘッダを第一主記憶メモリ２１から取得する。また、ヘッダ・データ連結回路２２３は、復帰転送情報ｂに従って、当該所定の単位分の量子化データを、第二主記憶メモリ２２から取得する。
【０２４４】
このように、ストリーム生成装置２００が中間データの退避先として使用する２つの記憶領域が、物理的に互いに異なる２つのメモリに存在する場合であっても、これら記憶領域が１つのメモリに存在する場合と同様の効果を奏することができる、すなわち、ストリームの生成過程において、容易にヘッダと量子化データとを分けて扱うことができ、その結果、算術符号化とデータパーティショニングとが施されたストリームの生成が可能である。
【０２４５】
以上、本発明のストリーム生成装置およびストリーム生成方法について、実施の形態１〜３およびこれらの補足に基づいて説明した。しかしながら、本発明は、上記の各実施の形態およびこれらの補足に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態およびこれらの補足に施したものも、あるいは、上記説明された複数の構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０２４６】
例えば、実施の形態１〜３（これらの補足も含む、以下同じ）では、ストリーム生成装置２００の第一処理部２１１は、量子化データについては、２値化および算術符号化を行わないとした。
【０２４７】
しかし、第一処理部２１１は、量子化データを２値化してもよい。量子化データを２値化した場合であっても、２値化の前後の量子化データのサイズの関係が関数等で規定される場合、第二処理部２２１は、２値化後の量子化データを区切り情報を用いて、マクロブロック単位に分割することが可能である。
【０２４８】
また、実施の形態１〜３では、ストリーム生成装置２００がデータパーティショニングを伴う算術符号化処理を行う場合について説明した。しかしながら、本発明はこれに限定されない。
【０２４９】
具体的には、“データパーティショニング”と呼ばれる技術を意図していない装置であっても、ヘッダと量子化データとをそれぞれストリーム上の別の領域に格納する装置であって、かつ、量子化後の処理を２段階に分けて行うことで当該ストリームを生成する装置に本発明は適用可能である。
【０２５０】
また、実施の形態１〜３では、可変長符号化として２値化が採用され、圧縮符号化として算術符号化が採用されている。しかしながら、本発明はこれに限定されない。
【０２５１】
例えば、量子化後の処理を２段階で行う符号化処理において、前段の処理結果が可変長のデータであり、かつ、後段で、前段の処理結果を所定量まとめて圧縮するような一連の符号化処理が行われる装置であれば、本発明の適用は可能である。
【０２５２】
また、上記のストリーム生成装置２００の各々を構成する構成要素の全てまたは一部は、ＣＰＵ等により実行されるプログラムのモジュールであってもよい。
【０２５３】
つまり、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、ストリーム生成装置２００を実現するソフトウェアは、次のようなプログラムである。
【０２５４】
すなわち、このプログラムは、コンピュータに、以下のストリーム生成方法を実行させる。当該ストリーム生成方法は、量子化された画像データである量子化データと、前記量子化データに対応するヘッダとを含む入力データに対して、可変長符号化および圧縮符号化を行うことでストリームを生成するストリーム生成方法であって、前記量子化データに対する前記圧縮符号化に必要な情報の、前記ヘッダにおける位置を特定するための情報である前記符号化関連情報を、前記ヘッダに挿入する挿入ステップと、前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化ステップと、前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、記憶部に転送する第一転送ステップと、前記記憶部から前記中間データを読み出す第二転送ステップと、読み出された前記中間データに含まれる前記ヘッダの、前記符号化関連情報に示される位置から、前記量子化データに対する前記圧縮符号化に必要な情報を抽出する抽出ステップと、前記抽出ステップにおいて抽出された情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化ステップとを含む。
【０２５５】
また、当該ストリーム生成方法は、前記ヘッダから、前記量子化データに対する前記圧縮符号化に必要な情報である符号化関連情報を取得し、取得した符号化関連情報を前記入力データに挿入する挿入ステップと、前記符号化関連情報が挿入される前または後の前記入力データに対し、前記ヘッダに対する前記可変長符号化および前記圧縮符号化を含む第一処理を行う第一符号化ステップと、前記符号化関連情報を含む前記第一処理後の前記入力データである中間データを、記憶部に転送する第一転送ステップと、前記記憶部から前記中間データを読み出す第二転送ステップと、読み出された前記中間データから、前記符号化関連情報を抽出する抽出ステップと、前記抽出ステップにおいて抽出された前記符号化関連情報を用いた前記圧縮符号化であって、読み出された前記中間データに含まれる前記第一処理後の前記量子化データに対する前記圧縮符号化を含む第二処理を行うことで、前記ストリームを生成する第二符号化ステップとを含む、としてもよい。
【０２５６】
また、ストリーム生成装置２００の各々を構成する複数の構成要素の全てまたは一部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されてもよい。
【０２５７】
システムＬＳＩは、複数の構成要素を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータシステムである。
【０２５８】
また、本発明は、ストリーム生成装置２００が備える特徴的な構成部の動作を含むストリーム生成方法として実現してもよい。また、本発明は、そのようなストリーム生成方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現してもよい。
【０２５９】
また、本発明は、そのようなプログラムを格納するコンピュータ読み取り可能な記録媒体として実現されてもよい。また、当該プログラムは、インターネット等の伝送媒体を介して配信されてもよい。
【産業上の利用可能性】
【０２６０】
本発明は、高いエラー耐性と高圧縮とが両立されたストリームを効率よく生成することができるストリーム生成装置およびストリーム生成方法を提供することができる。そのため、本発明は、画像データを圧縮符号化し出力する装置に備えられるストリーム生成装置等として有用である。
【符号の説明】
【０２６１】
１０  画像符号化装置
２０  主記憶メモリ
２０ａ  記憶部
２１  第一主記憶メモリ
２２  第二主記憶メモリ
５０  制御部
１００  画像符号化部
１０１  面内予測部
１０２  面間予測部
１０３、１０４  スイッチ
１０５  周波数変換部
１０６  量子化部
１０７  逆量子化部
１０８  逆周波数変換部
１０９  ループフィルタ
２００  ストリーム生成装置
２１０  前段部
２１１  第一処理部
２１２  第一転送制御部
２１３  ヘッダ・データ分離回路
２１５  挿入部
２１６  第一符号化部
２２０  後段部
２２１  第二処理部
２２２  第二転送制御部
２２３  ヘッダ・データ連結回路
２２５  抽出部
２２６  第二符号化部
５００  ＡＶシステム
５１０  ストリーム入出力部
５１１  メモリ入出力部
５１２  内部メモリ
５１３  内部制御部
５１４  画像復号化部
５１５  音声復号化部
５１６  画像処理部
５１７  音声処理部
５１８  音声符号化部
５１９  画像入出力部
５２０  音声入出力部
５５０  外部メモリ
５６０  外部制御部
【図１】
2012140839.tif 000003
【図２】
2012140839.tif 000004
【図３】
2012140839.tif 000005
【図４】
2012140839.tif 000006
【図５】
2012140839.tif 000007
【図６】
2012140839.tif 000008
【図７Ａ】
2012140839.tif 000009
【図７Ｂ】
2012140839.tif 000010
【図８】
2012140839.tif 000011
【図９】
2012140839.tif 000012
【図１０】
2012140839.tif 000013
【図１１Ａ】
2012140839.tif 000014
【図１１Ｂ】
2012140839.tif 000015
【図１２】
2012140839.tif 000016
【図１３】
2012140839.tif 000017
【国際調査報告】
2012140839.tif 000018
2012140839.tif 000019