特許第6387511号(P6387511)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アクセルの特許一覧

<>
  • 特許6387511-画像データ処理方法 図000002
  • 特許6387511-画像データ処理方法 図000003
  • 特許6387511-画像データ処理方法 図000004
  • 特許6387511-画像データ処理方法 図000005
  • 特許6387511-画像データ処理方法 図000006
  • 特許6387511-画像データ処理方法 図000007
  • 特許6387511-画像データ処理方法 図000008
  • 特許6387511-画像データ処理方法 図000009
  • 特許6387511-画像データ処理方法 図000010
  • 特許6387511-画像データ処理方法 図000011
  • 特許6387511-画像データ処理方法 図000012
  • 特許6387511-画像データ処理方法 図000013
  • 特許6387511-画像データ処理方法 図000014
  • 特許6387511-画像データ処理方法 図000015
  • 特許6387511-画像データ処理方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6387511
(24)【登録日】2018年8月24日
(45)【発行日】2018年9月12日
(54)【発明の名称】画像データ処理方法
(51)【国際特許分類】
   H04N 19/42 20140101AFI20180903BHJP
   H04N 19/44 20140101ALI20180903BHJP
【FI】
   H04N19/42
   H04N19/44
【請求項の数】8
【全頁数】17
(21)【出願番号】特願2016-121278(P2016-121278)
(22)【出願日】2016年6月17日
(65)【公開番号】特開2017-225096(P2017-225096A)
(43)【公開日】2017年12月21日
【審査請求日】2017年7月12日
(73)【特許権者】
【識別番号】398034168
【氏名又は名称】株式会社アクセル
(74)【代理人】
【識別番号】100106426
【弁理士】
【氏名又は名称】山田 賢二
(72)【発明者】
【氏名】客野 一樹
(72)【発明者】
【氏名】横関 亘
【審査官】 岩井 健二
(56)【参考文献】
【文献】 特開2014−192564(JP,A)
【文献】 特開2014−110452(JP,A)
【文献】 国際公開第2015/168150(WO,A1)
【文献】 国際公開第2015/058719(WO,A1)
【文献】 国際公開第2012/060459(WO,A1)
【文献】 国際公開第2009/035936(WO,A1)
【文献】 国際公開第2001/056293(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
動画に係る符号化画像データを出力すると共に、その動画の再生に係る指令を発行する上位CPUと、
複数のデータコアによる並列処理を行うハードウェアデコーダを有し、入力される前記指令に基づき、前記動画に係る符号化画像データを復号化する画像処理プロセッサと、
前記画像処理プロセッサにより復号化された画像データに基づいて前記動画が再生される表示部と、
を備えた画像処理装置を使用した画像データ処理方法であって、
前記表示部に再生されるべき複数の前記動画のうちの、その垂直解像度が前記ハードウェアデコーダの前記並列処理に係る画素数以下のものの中から、前記表示部に再生されるタイミングに関し、相互に所定内の近接度にあるものを組とし、同一組とされた各動画については、同一GOP間隔で符号化して前記符号化画像データを生成しておき、
前記指令に基づき前記表示部に複数の動画が再生される場合に、前記上位CPUは、前記組とされた各動画を、各ピクチャ符号化画像データであるスライスのレベルでピクチャタイプを揃えて合体させて、各スライスのヘッダー領域に含まれる開始マクロブロック座標の情報を書き変えて複数スライスの1ピクチャと見立てて一括して符号化画像データを構成して前記画像処理プロセッサに供給し、前記ハードウェアデコーダは、その一括化された符号化画像データを復号化し、
前記上位CPUは、前記ハードウェアデコーダから得られた復号化された画像データから各動画を分離するよう前記画像処理プロセッサに要求し、分離された各動画が前記表示部に再生されることを特徴とする画像データ処理方法。
【請求項2】
前記組とされた各動画の垂直解像度の合計が、前記複数のデータコアによる並列処理の画素数を超えることを特徴とする請求項1に記載の画像データ処理方法。
【請求項3】
前記画像処理プロセッサは、前記表示部に各動画を再生させる際に、各動画の各々のフレーム単位の所望の表示タイミングを担保するために、前記ハードウェアデコーダから得られた復号化された画像データを画像データ格納部に蓄積しておくことを特徴とする請求項に記載の画像データ処理方法。
【請求項4】
前記動画に係る符号化画像データのうち、前記合体に係る各動画は、水平方向にデータを補填することにより、水平解像度を揃えて符号化しておくことを特徴とする請求項1に記載の画像データ処理方法。
【請求項5】
前記水平解像度に複数の基準値を設け、それらのうちの一の基準値に合わせることにより、前記水平解像度を揃えることを特徴とする請求項に記載の画像データ処理方法。
【請求項6】
前記動画に係る符号化画像データのうち、前記合体に係る各動画は、垂直方向にもデータを補填することにより、垂直解像度も揃えて符号化しておくことを特徴とする請求項に記載の画像データ処理方法。
【請求項7】
各動画の元画像のサイズの情報は、SEIもしくはコンテナに格納しておくことを特徴とする請求項乃至のいずれかに記載の画像データ処理方法。
【請求項8】
前記合体に係る各動画に係る符号化画像データの前記ハードウェアデコーダによる復号化処理に際し、いずれかの動画に係る符号化処理が終了した場合、又はいずれかの動画の再生が中断されるべき場合、新たな動画が、前記GOP単位で組み込まれることを特徴とする請求項に記載の画像データ処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データ処理方法に関し、特に、多くの小さな解像度の動画を、ハードウェアデコーダにより復号化処理を行いつつ表示するような画像処理装置を使用する場合の画像データ処理方法に関する。
【背景技術】
【0002】
昨今の各種情報機器における動画再生処理においては、容量の観点から予め符号化して格納しておいた符号化動画情報を、読み出したり、又はネットを介してダウンロードしてきて、それを符号化に対応した復号化処理により復号化して表示装置に供給することにより、液晶機器等に動画が再生される。符号化処理には時間的な余裕があることからソフトウェアで処理することも可能であるが、復号化処理においては、高精細の動画であっても停滞なく再生されることを担保するためにハードウェア回路、特に専用の画像処理プロセッサ、を設けることも一般的になっている。
【0003】
つまり、その専用の画像処理プロセッサに対して、その上位の処理制御部が処理の指令のみを与えることにより、あとは当該画像処理プロセッサが自律的に画像処理を行うことにより、画像処理の効率化を図る構成となっている。
【0004】
上記概念の概要を図11に示す。
ここで、画像データROM200には、例えば、H.264(MPEG 4/AVC)規格に基づき符号化された1つ以上の動画情報が格納されている。なお、ここでは、情報機器本体に符号化された動画情報が格納される格納手段が備わっている場合を示しているが、ネット上のサーバ等からダウンロードしてくるような機器についても同様である。
【0005】
ここで、H.264規格について簡単に説明する。MPEG 2やMPEG 4ではシンタックスの階層構造が定められ、ビットストリームの中で並べられる情報は階層構造に沿ったものであるのに対し、H.264ではパラメータ・セットとそれを参照するスライスの配置についてはMPEG 2等と比較して制約が少ない。またパラメータ・セットにはシーケンス全体の符号化にかかわる情報を格納するSPS(Sequence Parameter Set:シーケンスパラメータセット)やピクチャ全体の符号化モードを示すPPS(Picture Parameter Set:ピクチャーパラメータセット)、任意の情報を符号化できるSEI(Supplemental Enhancement Information)が含まれ、フレームごとにSPSやPPSを配置することができるので、一つのビットストリーム中で複数のシーケンスを取り扱うことができる。
【0006】
図12は、H.264規格に基づき符号化された画像の符号化データの一般的なビットストリームを示す図である。なお、ここでは、説明の便宜上、SPSとPPSの組は1組として表している。H.264規格では、VCL(Video Coding Layer:動画像符号化処理層)と分離されたNAL(Network Abstraction Layer:ネットワーク抽象層)と称すレイヤーが規定され、VCLで生成された符号化データやパラメータ・セットをNALユニットとして取り扱うことができるようになっており、符号化データはVCLのNALユニット、SPSやPPSは非VCLのNALユニットとして取り扱われる。
【0007】
ここで、各スライスには、ヘッダー領域があり、そこには自スライスの先頭マクロブロック座標(first_mb_in_slice)の情報が少なくとも格納される。また、MPEG 2やMPEG 4でもそうであったように、H.264でも、一般的には、1ピクチャは1個以上のスライスで構成される。しかし、実際に1つの動画を普通に符号化すると、1フレームは、1スライスで構成される1ピクチャとして符号化される。ある種の効果を求めて、1フレームを複数スライスとして、すなわち1つの画像を複数に分割して複数のスライスとして符号化する技術は、例えば特許文献1に開示されている。
【0008】
しかしながら、特許文献1に代表されるような従来の技術においては、あくまで1つの動画の各画像を複数に分割するものであって、後述する本願発明の特徴のように、複数の動画のそれぞれを符号化して、それらを各スライスとして構成するような概念は従来にはない。
【0009】
図11に戻り、上位CPU100からは、画像処理プロセッサ300に対して、一般的にAPI(Application Program Interface)と呼ばれる処理指令が発せされる。機器が動作する元となっているオペレーティングシステム(OS)が、例えば、Windowsであれば、DXVA2(DirectX Video Acceleration 2)というAPIであり、Linux(登録商標)であれば、VDPAU(Video Decode and Presentation API for Unix)というように、各機器が採用するソフトウェアプラットフォームにより固有のものが提供されている。上位CPU100は、表示部400に所定のタイミングで表示させたい、必要な符号化画像データを画像データROM200から読み出し、表示の指令(表示タイミング、表示場所等)とともにその符号化画像データを画像処理プロセッサ300に送る。当該指令と対応する符号化画像データを受け取った画像処理プロセッサ300は、図示しない内部のハードウェアデコーダにより、当該符号化処理に対応した復号化処理を施すことにより、元の画像を復元する。そして、画像処理プロセッサ300が、その復号化画像データを表示部400に供給すれば、表示部400の液晶画面等に動画が再生される。
【0010】
なお、特許文献2には、他の画像情報を参照せずに復号化可能なIピクチャを符号化したタイルを利用し、ストリーム補正手段により読み出したタイルのフレーム内での位置を補正することで、動画像の視聴領域を任意に設定し、かつインタラクティブに視聴領域を変更することができる動画像配信システムが開示されている。
【0011】
しかしながら、特許文献2に記載の発明は動画像の視聴領域を任意に変更する技術に関するものであり、後述するような解像度の小さい画像を複数取り扱う場合の復号化処理の効率低下を回避するものではない。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2012−191513号公報
【特許文献2】国際公開第2012/060459号
【発明の概要】
【発明が解決しようとする課題】
【0013】
ところで、パチンコ機やパチスロ機のような遊技機における動画再生は、一本の動画が再生される一般的な動画再生とは顕著に異なる特徴がある。図13は、パチンコ機やパチスロ機のような遊技機における動画再生を説明するための図である。具体的には、同図(a)に示すように、パチンコ機やパチスロ機のような遊技機においては、1つの液晶画面等の任意の複数の領域に、大小さまざまな解像度の動画が表示される。更に、同図(b)に示すように、それらの各動画の再生開始時点及び再生時間は区々である。しかも、動画Eと動画Gの関係のように、遊技の進行に応じて、動画Eが最後まで再生されずに中断して、代わりに動画Gが再生し始める、というような態様もある。
【0014】
ここで、解像度の異なる画像のハードウェアデコーダによる復号化処理について注目すると、その処理性能は、解像度に依存せずに一定というわけではなく、解像度に依存してしまう。言い換えれば、解像度に応じて比例的に復号化の処理時間が決まるわけではない。例えば、解像度が1/2になったからといって、復号化の処理時間が半分になるものではない。図14は、画像解像度(横軸)と処理性能(Gdps)(縦軸)との関係を示す図である。ここでは、参考までに、ソフトウェアにより復号化処理を行う場合も掲載している。理論的には、解像度によっては処理性能は変わらないはずであるが、同図に示すように、ソフトウェア処理によれば、解像度が小さくなるにつれて比例的に処理性能が減衰し、一方、ハードウェア処理によれば、解像度が小さくなるにつれて極端に処理性能が落ちてしまうことが分かる。
【0015】
上述のように、ハードウェアデコーダによる復号化処理において、解像度が小さくなるにつれて極端に処理性能が落ちてしまう理由は、主に以下の2つが考えられる。
【0016】
1つには、ハードウェアデコーダが、画像の垂直方向において、所定の解像度単位で並列処理を行っているからである。
図15は、ハードウェアデコーダにおける垂直方向並列処理を説明するための図である。同図(a)は、並列処理を行わない場合であり、同図(b)は並列処理を行う場合を示している。一般的、復号化処理は、マクロブロック(MB)(例えば、16×16画素)単位で行われ、並列処理を行わない場合であれば、同図(a)に示すように、マクロブロックの水平一列に対応した1つのデコーダコアが、当該列の各マクロブロックを順に復号化していく。ここで、H.264規格のように、イントラ予測が採用されているのであれば、既に復号化処理された周りの所定のマクロブロックの情報を参照しつつ、一行ごとに復号化が進められていく。
【0017】
これに対して、並列処理機能を有する場合は、同図(b)に示すように、複数のマクロブロックに対応した複数のデコーダコアが備わっており、それら複数のデコーダコアが複数のマクロブロックに対して同時並列的に復号化処理を進めていく。この場合も、イントラ予測が採用されているのであれば、同図(b)に示すように、典型的には波状に処理が進むこととなり、そのことから、かかる並列処理は、ウェイブフロント並列処理(wave front parallel processing)と呼ばれている。
【0018】
図15(b)に示すような複数ハードウェアデコーダコアによる並列処理にあっては、垂直方向に十分大きな解像度を有する画像については、当該並列処理の利点を十分に享受できるものの、垂直方向に解像度の小さい画像については、その利点を享受できない場合がある。例えば、マクロブロックが16×16画素であり、マクロブロックに対して1対1で備わるハードウェアデコーダコアが8個備わっているとすると(なお、同図(b)では5個)、16画素×8=128画素であり、すなわち一度に処理する垂直方向の画素数が128画素ということとなり、理論的には、その128より小さい垂直方向の画素数を有する画像は、当該並列処理の利点を享受できないこととなる。
【0019】
このように、どの程度の並列処理機能を備えるかによるが、概して、大きな解像度を有する画像を処理する場合と比較すると、小さな解像度を有する画像に対して復号化処理を行う場合は、相対的に処理性能が落ちることとなる。
【0020】
2つめの理由は、解像度の小さな画像も解像度の大きな画像も1ピクチャである点で変わらず、1ピクチャを復号化する処理においては、画像データの符号化処理自体以外に、デコーダの初期化等の付随処理が必ず伴うものであり、このことから、小さな解像度の画像であっても、その数が増えると、格段に処理ステップが増え、結果として、大きな解像度を有する画像を処理する場合と比較すると、小さな解像度の画像であっても、その数が増えると、その復号化処理性能は落ちることとなる。
【0021】
以上から、パチンコ機及びパチスロ機に代表される遊技機のように、解像度の小さな動画を、特に並列的に、多く表示するような装置では、処理速度が極端に遅くなるという課題があった。
【0022】
本発明は上述のような事情から為されたものであり、本発明の目的は、小さな解像度の動画が多く表示される遊技機に含まれるような画像処理装置であっても、復号化処理能力が落ちることのない画像データ処理方法を提供することにある。
【課題を解決するための手段】
【0023】
上記目的を達成するため、本発明の画像データ処理方法は、動画に係る符号化画像データを出力すると共に、その動画の再生に係る指令を発行する上位CPUと、複数のデータコアによる並列処理を行うハードウェアデコーダを有し、入力される前記指令に基づき、前記動画に係る符号化画像データを復号化する画像処理プロセッサと、前記画像処理プロセッサにより復号化された画像データに基づいて前記動画が再生される表示部と、を備えた画像処理装置を使用した画像データ処理方法であって、前記表示部に再生されるべき複数の前記動画のうちの、その垂直解像度が前記ハードウェアデコーダの前記並列処理に係る画素数以下のものの中から、前記表示部に再生されるタイミングに関し、相互に所定内の近接度にあるものを組とし、同一組とされた各動画については、同一GOP間隔で符号化して前記符号化画像データを生成しておき、前記指令に基づき前記表示部に複数の動画が再生される場合に、前記上位CPUは、前記組とされた各動画を、各ピクチャ符号化画像データであるスライスのレベルでピクチャタイプを揃えて合体させて、各スライスのヘッダー領域に含まれる開始マクロブロック座標の情報を書き変えて複数スライスの1ピクチャと見立てて一括して符号化画像データを構成して前記画像処理プロセッサに供給し、前記ハードウェアデコーダは、その一括化された符号化画像データを復号化し、前記上位CPUは、前記ハードウェアデコーダから得られた復号化された画像データから各動画を分離するよう前記画像処理プロセッサに要求し、分離された各動画が前記表示部に再生されることを要旨とする。
【0024】
このとき、前記組とされた各動画の垂直解像度の合計が、前記複数のデータコアによる並列処理の画素数を超えることが好適である。
【0026】
一方、前記画像処理プロセッサは、前記表示部に各動画を再生させる際に、各動画の各々のフレーム単位の所望の表示タイミングを担保するために、前記ハードウェアデコーダから得られた復号化された画像データを画像データ格納部に蓄積しておく場合がある。
【0029】
また、前記動画に係る符号化画像データのうち、前記合体に係る各動画は、水平方向にデータを補填することにより、水平解像度を揃えて符号化しておくことが好ましい。そのとき、前記水平解像度に複数の基準値を設け、それらのうちの一の基準値に合わせることにより、前記水平解像度を揃えることが一案である。また、前記動画に係る符号化画像データのうち、前記合体に係る各動画は、垂直方向にもデータを補填することにより、垂直解像度も揃えて符号化しておくことも好ましい。このような補填の際には、各動画の元画像のサイズの情報は、SEIもしくはコンテナに格納しておく。
【0030】
また、前記合体に係る各動画に係る符号化画像データの前記ハードウェアデコーダによる復号化処理に際し、いずれかの動画に係る符号化処理が終了した場合、又はいずれかの動画の再生が中断されるべき場合、新たな動画が、前記GOP単位で組み込まれることも特徴である。
【発明の効果】
【0031】
本発明の画像データ処理方法によれば、CPUは、各動画を、各ピクチャ符号化画像データであるスライスのレベルで合体させて、複数スライスの1ピクチャと見立てて一括してハードウェアデコーダに復号化させているので、復号化処理速度が向上する。
【0032】
特に、垂直方向に解像度が小さい動画を多く再生する場合でも、ハードウェアデコーダの並列処理機能の利点を享受できるので、効果的である。
【0033】
また、各動画のピクチャ単位でそれらのスライスを複数のスライスとして纏めるというやり方で、各動画を合体させているので、ハードウェアデコーダ自体の構成や機能を何ら変更する必要はない。
【図面の簡単な説明】
【0034】
図1】本発明の画像データ処理方法における一実施形態の概要を説明するための図である。
図2】各動画の符号化処理の手順を示すフローチャートである。
図3】画像データの補填(パディング)処理を説明するための図である。
図4】符号化後の各動画のビットストリームを示す図である。
図5】本発明の画像データ処理方法の一実施形態において使用される画像処理装置の構成を示すブロック図である。
図6】復号化前の事前処理における、各動画間のピクチャタイプを合せる時間調整を説明するための図である。
図7】各動画を、各ピクチャ符号化データであるスライスのレベルで合体させて、複数スライスの1ピクチャと見立てて一括して復号化することを説明するための図である。
図8】ある動画が中断して他の動画に切り替わる場合を説明するための図である。
図9】ある動画が中断して他の動画に切り替わる場合を説明するための図である。
図10】事後処理部312の処理を説明するための図である。
図11】動画を再生するための機器の構成を示す図である。
図12】H.264規格に基づき符号化された画像の符号化データの一般的なビットストリームを示す図である。
図13】パチンコ機やパチスロ機のような遊技機における動画再生を説明するための図である。
図14】画像解像度(横軸)と処理性能(Gdps)(縦軸)との関係を示す図である。
図15】ハードウェアデコーダにおける垂直方向並列処理を説明するための図である。
【発明を実施するための形態】
【0035】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
<概要>
図1は、本発明の画像データ処理方法における一実施形態の概要を説明するための図である。本発明においては、端的に言えば、垂直方向の解像度が小さい複数の動画の符号化画像データを合体させて、その合体したものを復号化し、得られた画像データから、元の複数の動画を分離する、というような処理を行うことにより、垂直方向の解像度が小さい動画が多くあっても、復号化処理性能を落とさないようにする、というものである。
【0036】
より具体的には、同図(a)において、まず、所定の動画の表示処理を含む所定の処理が行われるように意図されている画像処理装置(例えば、パチンコ機に組み込まれているもの)についてのその処理設計(特に、動画表示については、どのような動画をどのタイミングで表示するか等)から、当該装置に表示される各動画のうち、合体して復号化処理を行うべき動画を選別するという復号化処理設計を行う(ステップS1)。例えば、同図(b)に示すように、動画Xについては単独で処理し、垂直解像度の小さい動画Y及び動画Zについては、合体して復号化処理できる可能性がある、と設計する。そして、動画X、動画Y、及び動画Zをそれぞれ符号化する(ステップS2)。次に、動画Xについては、その符号化データを単独で復号化し、動画Xを復元して、画像処理装置の表示部に所定のタイミングで表示する。一方、動画Y及び動画Zについては、それらの表示タイミングによっては、それらの符号化データを合体させて復号化し、動画X及び動画Yを復元し、更にそれらを分離することにより、表示部にそれぞれのタイミングで表示する(ステップS3)。
【0037】
以下、上述した概要をより具体的にした実施形態を、いくつかの所定条件も含めて詳細に説明する。
<復号化設計処理(ステップS1)>
復号化時に合体させるべき動画を選別する条件として、解像度の観点からは以下である。
・合体させるべき各動画の垂直方向の解像度は、複数のデコーダコアによる並列処理の”画素数”以下である
・合体させるべき各動画の垂直方向の解像度の合計値が、複数のデコーダコアによる並列処理の”画素数”を越えること
・ただし、合体させるべき各動画の垂直方向の解像度の合計値が、デコーダの垂直方向の”最大解像度”を越えないこと
【0038】
また、各動画を画像処理装置に表示するタイミングの観点からは、合体させるべき各動画は、表示タイミングが可及的に近いもの同士である。上記の解像度の観点の条件を満たしていれば、どのようなタイミングで表示される動画同士でもよいのであるが、復号化処理の時点と表示の時点が離れていればいるほど、復号化処理後の画像データを一旦蓄えておく画像データバッファでの滞留時間が長くなってしまう。従って、表示するタイミングの観点における、合体させるべき各動画の選別は、当該画像データバッファの容量に依存する。なお、遊技機を例に挙げて説明すると、一つのイベントで同時或いは同時期に再生される動画であって、上記条件を満たすものを合体して復号させるデータとして復号化設計処理を行うのが好適である。
【0039】
<符号化処理(ステップS2)>
次に、各動画の符号化処理について説明する。図2は、その処理手順を示すフローチャートである。そこで、符号化すべき動画を選択する(ステップS21)。そして、選択した動画が、前述の復号化設計処理に基づき、他の動画と合体させるべき動画か否かを判断する(ステップS22)。図13に例示したような動画Aのような場合は、単独で復号化処理を行うので、ステップS22は否定判定となり、ステップS23をスキップしてステップS24に移行する。一方、図13に例示したような動画B乃至動画G(垂直方向解像度が例えば128画素以下)のそれぞれの場合は、他のいずれかと合体させて復号化処理するとしたものであり、よって、ステップS22は肯定判定となり、そのままステップS23に移行する。
【0040】
ステップS23においては、画像データの補填(パディング)処理を行う。図3は、その補填処理を説明するための図である。そこで、例えば、動画Bと動画Fとが組で合体でき、動画C、動画D、及び動画E(動画G)とが組で合体すべき場合があるとする。なお、動画Gは、動画Eが再生途中で中断した場合に、そこから再生されるべき動画である。そこで、少なくとも同じ組の各動画は、後述する復号化処理の方式から、水平方向の解像度が揃っている必要がある。従って、水平方向の解像度を揃えるために各動画の水平方向について画像データの補填処理を行う。このとき、一律にデコーダの水平方向の最大処理解像度に揃えるとしてもよい。そうすれば、すべての組について、その同じ最大処理解像度に揃えることができるので、補填処理自体は簡易となる。しかしながら、水平方向にも小さな解像度の動画ばかりの各動画を合体させる場合も一律にそのようにするとすれば、補填データばかりが大きくなり、復号化処理において無駄が生じてしまう。従って、例えば、水平方向120、240、480、960、1920画素というように、いくつかの揃える基準を設けるのが得策である。揃える基準は、合体させる各動画のうちの最大の水平方向解像度を有する動画の当該解像度によって決まるのであるから、それらの基準の数やその値の設定は、合体させる各動画の各水平方向解像度のばらつきに依存する。逆に言えば、合体させるべき動画の選定の条件として、水平方向解像度を入れることもできる。
【0041】
ステップS24においては、各動画の符号化処理を行う。例えば、H.264規格に基づき典型的には、ソフトウェア処理により行う。このときの条件としては、少なくとも同じ組である各動画については、1GOPに含まれるフレームの数が同一(例えば、30)になるような符号化処理を行う、ということである。後述の復号化処理において、合体して復号化処理が行えるようにするためである。また、図4は、符号化後の各動画のビットストリームを示す図であるが、従来と同様、1ピクチャが1スライスとして構成され、また、スライスのヘッダーには、従来通り、マクロブロック開始座標の情報が格納されるが、本発明に特徴的なものとしては、更に、“元画像のデータサイズ”(解像度)(例えば、図3に示す動画Cであれば、110×48)を別途、SEIもしくはMP4などNALを内包するコンテナに入れる処理を行う、ということである。これは、後述するように、各動画の復号化処理を行い表示する画像処理装置において、復号化処理後に、元画像を抽出できるようにするためである。
【0042】
ステップS25においては、未処理の動画が残っているかを判定し、残っていれば(肯定判定)、ステップS21に戻り、以上の処理を繰り返し、全動画終了であれば、処理を終える。
【0043】
なお、上述の実施形態においては、垂直方向の解像度については、各動画についてそのまま、すなわち区々としたが、合体して復号化処理すべき各動画については、補填処理により垂直方向の解像度も揃えるということも考えられる。垂直方向の解像度も揃えると、同一組として合体して復号化処理すべき各動画の入れ替えが画一的に行え、上述の符号化設計処理において処理が簡素になる。
【0044】
<デコーダを備えた画像処理装置の実動による画像データ処理(ステップS3)>
図5は、本発明の画像データ処理方法の一実施形態において使用される画像処理装置の構成を示すブロック図である。
同図に示す画像処理装置は、上位CPU1と、画像データROM2と、画像処理プロセッサ3と、表示部4とで構成されている。上位CPU1は事前処理部11を有し、事前処理部11は、各動画再生タイミング情報生成部111と動画間各ピクチャ合体部112とを有している。また、画像処理プロセッサ3は、事後処理部31と、ハードウェアデコーダ32と、ビデオメモリ33とを有し、更に事後処理部31は、命令解釈部311と描画回路312とを有している。描画回路312には、各動画分離部3121と、元画像切出し部3122と、各動画表示タイミング制御部3123が含まれている。ここで、画像データROM2には、上述の<符号化処理(ステップS2)>によって符号化された各動画のデータが格納されている。
【0045】
図5に示す画像処理装置における画像データ処理の概要は以下の通りである。なお、事前処理部11及び事後処理部31の詳細説明については、後述する。
上位CPU1は、当該画像処理装置での設計動作に基づき、画像データROM2から必要な動画に係る符号化画像データを読み出してくるのであるが、特に、前述の<復号化設計処理(ステップS1)>で設計された合体可能な各動画に係る情報に基づき、画像データROM2から合体可能な複数の動画に係る符号化画像データを読み出してくる場合、後に詳述のように、動画間各ピクチャ合体部112が、各動画間でピクチャタイプが揃った状態で、各動画ピクチャを各スライスとして合体するのであるが、そのとき、合体させるスライスのヘッダー領域に含まれる先頭マクロブロック座標の情報を書き換える。そして、動画間各ピクチャ合体部112は、複数のスライスで構成された合体後の符号化画像データを画像処理プロセッサ3のハードウェアデコーダ32に供給する。
【0046】
複数のスライスで構成された合体後の符号化画像データに基づく各動画は、表示させるべきタイミングは通常それぞれ異なるので、上位CPU1は、各動画の再生タイミング情報を画像処理プロセッサ3側に知らせる必要がある。その再生タイミング情報を生成する処理を行うのが、各動画再生タイミング情報生成部111である。すなわち、各動画再生タイミング情報生成部111は、例えば、遊技機の一つのイベントで表示される複数の動画の再生タイミング等の調整時間を設定し、その情報を画像処理プロセッサ3に供給する。
【0047】
ハードウェアデコーダ32は、上位CPU1から供給された合体後の符号化画像データに対して復号化処理を行い、復号結果をビデオメモリ3に供給すると共に、図示しない復号完了通知を上位CPU1に出力する。ハードウェアデコーダ32から復号化の完了通知を受け取った上位CPU1は、画像処理プロセッサ3の事後処理部31に事後処理の指令を行い、その命令解釈部311は、その指令に含まれる、少なくとも、合体に係る各動画を表す情報や各動画の再生タイミングに係る情報を描画回路312に供給する。描画回路312に含まれる各動画分離部3121、元画像切出し部3122、及び各動画表示タイミング制御部3123は、それらの情報と、ビデオメモリ33に格納された復号化画像データ自体に含まれる元画像のデータサイズの情報(図4参照)に基づき、ビデオメモリ33に格納された復号化画像データに対して所定の事後処理を施したのち、その結果を表示部4に供給して各動画として表示させる。
【0048】
事前処理部11及び事後処理部31の詳細な処理内容については、図6乃至図10を参照しつつ、例示で以下説明する。
上位CPU1では画像処理装置に対して設計された動作処理(遊技機であれば、当該画像処理装置が組み込まれた遊技機における遊技の進行の設計動作)に基づき、動画の表示指令が発行される。例えば、図13に示した例においては、“動画A(B、・・・)を所定のタイミングから再生せよ”であるとか、動画Eが再生されている途中で、“動画Eの再生を中断し、代わりに動画Gを再生し始めよ”というような指令が発行される。
【0049】
上位CPU1は発行された指令に基づき、符号化画像データを画像データROM2から入手し、例えば“動画Aを所定のタイミングから再生せよ”という指令であれば、動画Aに関する符号化画像データを画像データROM2から入手し、画像処理プロセッサ3のハードウェアデコーダ32に供給し、ビデオメモリ33に復号された画像データが格納された後、描画回路312を用いて画像を作成し、所定のタイミングで表示部4に供給することで動画Aの再生が表示部4で行われる。
【0050】
また、上位CPU1で複数の動画、例えば、動画C、D、E及びGを再生する指令が発生すると、必要な符号化画像データであるスライスを画像データROM2から読み出し、動画間各ピクチャ合体部112は、合体させるスライスのヘッダー領域に含まれる先頭マクロブロック座標の情報を書き換えて、複数のスライスを合体させ、合体後の圧縮データを生成し、それを画像処理プロセッサ3のハードウェアデコーダ32に供給する。なお、画像データROM2から読み出される動画C、D、Eについては読み出し後に補填処理を施してもよい。
【0051】
また、スライスのヘッダー領域に含まれる先頭マクロブロックの座標情報書き換えとは、各スライスの先頭マクロブロックの座標情報は当初「0」が格納されているので、大きな1つの画像として合体する際の各スライスの配置に応じて先頭マクロブロックの座標情報を所望の値に変更するものである。例えば、図10(a)に示すように動画C、動画D、動画Eをまとめ、大きな1つの画像として合体させる場合、動画Cのスライスのヘッダー領域に含まれる先頭マクロブロックの座標情報は書き換える必要がないが、動画D及び動画Eのスライスのヘッダー領域に含まれる先頭マクロブロックの座標情報はそれぞれ配置される位置の情報に応じて書き換えられる。このように複数スライスを含む符号化画像データをハードウェアデコーダ32で正常に復号化できる有効なH.264ストリームを生成するためである。
【0052】
ハードウェアデコーダ32で符号化画像データが復号され、ビデオメモリ33に格納された後、合体した復号化画像データから個々の画像へ切出すための情報や動画分離及び動画表示タイミング等の情報を上位CPU1が生成し、その情報が画像処理プロセッサ3の命令解釈部311で解釈される。
【0053】
例えば、命令解釈部311で解釈した指令が、“動画Cを所定のタイミングから再生せよ”、“動画Dを所定のタイミングから再生せよ”、“動画Eを所定のタイミングから再生せよ”というものであった場合、ビデオメモリ33内に格納されている復号化画像データのうち、動画Cにかかる画像と、動画Eにかかる画像と、動画Eにかかる画像をそれぞれ切出し、指定されたタイミングで表示装置4に表示するよう描画回路312が制御される。
【0054】
なお、複数の動画に関する画像データをスライスとして合体し、その合体後の圧縮データを同一のハードウェアデコーダ32で処理するため、スライスとして合体させる各画像データのピクチャタイプは同一である必要がある。そこで、合体の可能性のある各動画の1GOPに含まれるフレーム数を同一とし、図6に示すように、各動画(動画C、動画D、動画E)の任意の(先頭の)GOPのIピクチャを揃えてスライスを合体させなければならない。
【0055】
一方、図13に示したように動画C、動画D、動画Eの再生タイミングが全て異なる場合には、各動画に用いる画像を復号し、同時に各画像を描画することはできない。そのため、動画の再生タイミング(描画の開始タイミング)の情報を上位CPU1の各動画再生タイミング情報生成部111で生成し、その情報に基づいて画像処理プロセッサ3の描画回路312が画像を作成し、所定のタイミングで表示装置4に表示するよう制御が必要である。
【0056】
上述のように各動画のピクチャタイプが揃った状態で、動画間各ピクチャ合体部112は、各動画をフレーム単位で、すなわち、各動画を、各ピクチャ符号化データであるスライスのレベルで合体させて、複数スライスの1ピクチャと見立てて編成させる。図7はこれを説明するための図である。前述のように、各動画の符号化データのビットストリームにおいては、通常、同図の左側に示すように、1ピクチャ1スライスで構成されているのに対して、合体の処理においては、各スライスを並べることにより、すなわち、スライスレベルで合体させる。なお、ここでは、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)及びSEI(Supplemental Enhancement Information)を一組としており、そのときはそれらを書き変えることとなる。例えば、SPSには参照フレーム数やフレームの幅及び高さの情報が含まれているが、合体させた後の高さ情報等は調整が必要である。また、PPSには符号化方式や量子化係数等の情報が含まれているが、各画像でこれらの情報が異なる場合には調整が必要である。また、図12を参照して説明した、スライスのヘッダーに含まれる開始マクロブロック座標についても、各スライスにおいて合体に応じて書き変えるようにする。
【0057】
事前処理部11は、各動画の符号化画像データを上述のようにスライスレベルで編成することにより、各動画を合体させつつ、当該符号化画像データをハードウェアデコーダ32に供給する。ここで、ハードウェアデコーダ32側では、当該符号化画像データを受けると、1ピクチャが複数スライス(例では3スライス)で構成されたものとは認識するが、あくまでこれは規格(H.264)で定められた範囲であり(MPEG-2、4でも同様)、そのまま復号化処理を行うことができる。しかしながら、ハードウェアデコーダ32は、複数の動画を合体させたものであるということまでは認識しない。これは、言い換えれば、ハードウェアデコーダ32については、何ら手を加える必要がないということを意味している。つまり、そのように事前処理、また後述する事後処理を行っているということである。
【0058】
図6に戻り、各動画は再生時間が区々であることから、短いものから先に終了していく。このとき、空いたところに別の動画を差し入れることもできるが(垂直解像度、表示タイミング、画像データバッファ3124の容量の観点)、そのときも、他の動画とGOP単位で整合をおこなう。また、図13で例示するように動画Eが途中で動画Gに切り替わる場合を説明するものが図8及び図9である。図8(a)は、動画Eの中断がない場合を示しており、同図(b)は、動画Eが中断して代わりに動画Gが再生される場合を示している。この場合も、GOP単位で切り替わるが、同図(b)の例では、動画EのGOP[2]の後に、動画EのGOP[3]の代わりに、動画GのGOP[1]が組み込まれている。動画EのGOP[2]と動画GのGOP[1]の境目を、各動画のピクチャの合体の観点から見たものが、図9である。同図に示すように、切替え前の最終フレームにおいては、動画C、動画D、及び動画Eの各Pピクチャを合体させるようになっているが、切替え後の最初のフレームにおいては、動画C、動画D、及び動画Gの各Iピクチャを合体させるようになっている。
【0059】
次に、事後処理部31について説明する。図10は、事後処理部31の処理を説明するための図である。
ハードウェアデコーダ32からの復号化後の画像データがビデオメモリ33に格納されると、まず、各動画分離部3121は、図10(a)の左側にあるように、各スライスヘッダーに書き込んだ各動画の開始マクロブロック座標に基づき、フレームごとに各動画を分離する。次に、元画像切出し部3122は、同図(a)の右側にあるように、各動画のSEIもしくはコンテナに格納されていた元画像のデータサイズに基づいて、フレームごとに<符号化処理(ステップS2)>のときに補填された補填データを削除する。そして、このようにフレームごとに元画像が再現された各動画のデータは、ビデオメモリ33に蓄積されていく。そして、各動画表示タイミング制御部3123は、上位CPU1の各動画再生タイミング情報生成部111からの各動画の再生タイミングに関する情報に基づいて、同図(b)に示すように、各動画の所望の表示タイミングで、それぞれ表示部4に再生していく。
【0060】
なお、上述の説明においては、図13で示した動画C、動画D、動画E、動画Gを例にして説明したが、同図(又は図3(a))にある動画B及び動画Fでも同様である。
【0061】
以上のように、本発明の画像データ処理方法における一実施形態によれば、垂直方向に解像度が小さい各動画については、合体させて一括で復号化処理をしているので、垂直方向に複数のデコーダコアにより並列処理を行っているような場合でも、その機能を享受することができる。また、合体させて数を減らした分だけ、デコーダの初期化等の付随処理が減ることとなり、処理時間は格段に短くなる。
【0062】
また、各動画のピクチャ単位でそれらのスライスを複数のスライスとして纏めるというやり方で、各動画を合体させているので、ハードウェアデコーダ32の構成や機能を何ら変更する必要はない。
【産業上の利用可能性】
【0063】
本発明の画像データ処理方法は、例えば、パチンコ機等の遊技機に採用できる。
【符号の説明】
【0064】
1 上位CPU
11 事前処理部
111 各動画再生タイミング情報生成部
112 動画間各ピクチャ合体部
2 画像データROM
3 画像処理プロセッサ
31 事後処理部
311 命令解釈部
312 描画回路
3121 各動画分離部
3122 元画像切出し部
3123 各動画表示タイミング制御部
32 ハードウェアデコーダ
33 ビデオメモリ
4 表示部
100 上位CPU
200 画像データROM
300 画像処理プロセッサ
400 表示部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15