JP2018098784A - 画像データ処理方法 - Google Patents

画像データ処理方法 Download PDF

Info

Publication number
JP2018098784A
JP2018098784A JP2017226709A JP2017226709A JP2018098784A JP 2018098784 A JP2018098784 A JP 2018098784A JP 2017226709 A JP2017226709 A JP 2017226709A JP 2017226709 A JP2017226709 A JP 2017226709A JP 2018098784 A JP2018098784 A JP 2018098784A
Authority
JP
Japan
Prior art keywords
image
moving
moving image
image data
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017226709A
Other languages
English (en)
Other versions
JP6732337B2 (ja
Inventor
孝 森重
Takashi Morishige
孝 森重
一樹 客野
Kazuki Kakuno
一樹 客野
横関 亘
Wataru Yokozeki
亘 横関
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axell Corp
Original Assignee
Axell Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Axell Corp filed Critical Axell Corp
Priority to EP20202868.4A priority Critical patent/EP3790274A1/en
Priority to PCT/JP2017/043285 priority patent/WO2018105515A1/ja
Priority to EP17879606.6A priority patent/EP3537718A4/en
Priority to US16/467,541 priority patent/US10944980B2/en
Publication of JP2018098784A publication Critical patent/JP2018098784A/ja
Priority to US16/934,605 priority patent/US11336911B2/en
Application granted granted Critical
Publication of JP6732337B2 publication Critical patent/JP6732337B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/89Time-base error compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Display Devices Of Pinball Game Machines (AREA)

Abstract

【課題】 小さな解像度の動画が多く表示される遊技機に含まれるような画像処理装置であっても、復号処理能力が落ちることのない画像データ処理方法を提供する。【解決手段】 まず、復号処理設計を行う(ステップS1)。例えば、動画Xについては単独で処理し、垂直解像度の小さい動画Y及び動画Zについては、合体して復号処理できる可能性がある、と設計する。そして、動画X、動画Y、及び動画Zをそれぞれ符号化する(ステップS2)。次に、動画Xについては、その符号化データを単独で復号し、動画Xを復元して、画像処理装置の表示部に所定のタイミングで表示する。一方、動画Y及び動画Zについては、それらの表示タイミングによっては、それらの符号化データを合体させて復号し、動画X及び動画Yを復元し、更にそれらを分離することにより、表示部にそれぞれのタイミングで表示する(ステップS3)。【選択図】 図1

Description

本発明は、画像データ処理方法に関し、特に、多くの小さな解像度の動画を、ハードウェアデコーダにより復号処理を行いつつ表示するような画像処理装置を使用する場合の画像データ処理方法に関する。
昨今の各種情報機器における動画再生処理においては、容量の観点から予め符号化して格納しておいた符号化動画情報を記憶媒体から読み出したり、又はネットワークを介してダウンロードし、それを符号化に対応した復号処理により復号して表示装置に供給することにより、液晶機器等に動画が再生される。
符号化処理には、時間的な余裕があることからソフトウェアで処理することも可能である。しかし、復号処理においては、高精細の動画であっても停滞なく再生されることを担保するためにハードウェア回路、特に専用の画像処理プロセッサ、を設けることも一般的になっている。
つまり、その上位の処理制御部が、処理の指令のみをその専用の画像処理プロセッサに対して与えておき、あとは当該画像処理プロセッサが自律的に画像処理を行うことにより、画像処理の効率化を図るという構成となっている。
図18は従来の画像処理装置Aの構成を示す図であり、100は画像処理装置全体を制御する上位CPU、200は画像データROM、300は画像処理プロセッサ、400は表示部である。画像データROM200には、例えば、H.264(MPEG4/AVC)規格に基づき符号化された1つ以上の動画情報が格納されている。なお、画像処理装置Aに符号化された動画情報の格納手段である画像データROMを備えているが、ネットワーク上のサーバ等から符号化された動画情報をダウンロードする構成でも良い。
上位CPU100は、一般的にAPI(Application Program Interface)と呼ばれる処理指令を画像処理プロセッサ300に対して発行する。機器が動作する元となっているオペレーティングシステム(OS)が、例えば、Windowsであれば、DXVA2(DirectX Video Acceleration 2)というAPIであり、Linux(登録商標)であれば、VDPAU(Video Decode and Presentation API for Unix)というように、各機器が採用するソフトウェアプラットフォームにより固有のものが提供されている。
上位CPU100は、表示部400に所定のタイミングで表示させたい、必要な符号化画像データを画像データROM200から読み出す。次に、上位CPU100は、表示の指令(表示タイミング、表示場所等)とともにその符号化画像データを画像処理プロセッサ300に送る。当該指令と対応する符号化画像データを受け取った画像処理プロセッサ300は、図示しない内部のハードウェアデコーダにより、当該符号化処理に対応した復号処理を施すことにより、元の画像を復元する。そして、画像処理プロセッサ300が、その復号画像データを表示部400に供給すれば、表示部400の液晶画面等に動画が再生される。
次に画像データROM200内に格納されている動画情報の規格であるH.264について簡単に説明する。MPEG2やMPEG4(AVCを除く)では、シンタックスの階層構造が定められ、ビットストリームの中で並べられる情報は階層構造に沿ったものである。これに対して、H.264では、パラメータセットとそれを参照するスライスの配置についてはMPEG2等と比較して制約が少ない。
また、パラメータセットには、シーケンス全体の符号化に係わる情報を格納するSPS(Sequence Parameter Set:シーケンスパラメータセット)や、ピクチャ全体の符号化モードを示すPPS(Picture Parameter Set:ピクチャーパラメータセット)や、任意の情報を符号化できるSEI(Supplemental Enhancement Information)が含まれる。H.264では、フレームごとにSPSやPPSのパラメータセットを配置することができるので、一つのビットストリーム中で複数のシーケンスを取り扱うことができる。
図19は、H.264規格に基づき符号化された画像の符号化データの一般的なビットストリームを示す図である。説明の便宜上、パラメータセットであるSPSとPPSの組は1組として表している。H.264規格では、VCL(Video Coding Layer:動画像符号化処理層)と分離されたNAL(Network Abstraction Layer:ネットワーク抽象層)と称したレイヤーが規定されている。H.264規格では、VCLで生成された符号化データや、パラメータセットをNALユニットとして取り扱うことができるようになっており、符号化データはVCLのNALユニット、SPSやPPSは非VCLのNALユニットと称される。
VCLのNALユニットである各スライスにはヘッダー領域があり、そこには自スライスの先頭マクロブロック座標(first_mb_in_slice)の情報が少なくとも格納される。また、MPEG2などではピクチャが符号化単位になっているのに対し、H.264ではスライスが符号化単位になっているので、例えば処理を並列化させるために、ピクチャを複数のスライスに分割し、スライス毎に処理を行うことも可能になっている。
例えば特許文献1には、動きベクトルの符号化効率を改善するために、1フレームを複数スライスとして、すなわち1つの画像を複数に分割して複数のスライスとして符号化する技術が開示されている。また、特許文献2には、他の画像情報を参照せずに復号可能なIピクチャを符号化したタイルを利用し、ストリーム補正手段により読み出したタイルのフレーム内での位置を補正することで、動画像の視聴領域を任意に設定し、かつインタラクティブに視聴領域を変更することができる動画像配信システムが開示されている。
しかしながら、特許文献1に代表されるような従来の技術においては、1つの動画の各画像を複数に分割するものであり、解像度の小さい画像を複数取り扱う場合の復号処理の効率低下を回避する目的で複数の動画のそれぞれを符号化し、それらを各スライスとして構成するものではない。また、特許文献2に記載の発明は、動画像の視聴領域を任意に変更する技術に関するものであり、この先行技術も解像度の小さい画像を複数取り扱う場合の復号処理の効率低下を回避するものではない。
特開2012−191513号公報 国際公開第2012/060459号
ところで、パチンコ機やパチスロ機のような遊技機における動画再生では、一本の動画を再生する一般的な動画再生とは顕著に異なる特徴がある。
図20は、パチンコ機やパチスロ機のような遊技機における動画再生を説明するための図である。具体的には、同図(a)に示すように、パチンコ機やパチスロ機のような遊技機においては、1つの液晶画面等の任意の複数の領域に、大小さまざまな解像度の動画が表示される。
更に、同図(b)に示すように、それらの各動画の再生開始時点及び再生時間は区々である。しかも、動画Dのように、表示タイミングをずらす目的等で、途中で一時停止するものがあったり、また、動画Eと動画Gの関係のように、遊技の進行に応じて、動画Eが最後まで再生されずに中断して、代わりに動画Gが再生し始める、というような態様もある。動画Eにおける矢印の網掛け部分は、当初再生を行う予定があったが、再生中断された部分を示している。
ここで、解像度の異なる画像に対するハードウェアデコーダによる復号処理について注目すると、その処理性能は、解像度に依存せずに一定になるというわけではなく、解像度に依存する。しかし、解像度に比例して復号の処理時間が決まるわけではない。例えば、解像度が1/2になったからといって、復号の処理時間が半分になるというものではない。
図21は、汎用ハードウェアデコーダにおけるデコード性能を示す図であり、横軸が画像解像度、縦軸が処理性能(Gdps:Giga dot per sec)である。この図には、参考として、ソフトウェアにより復号処理を行う場合のデコード性能も併記している。ハードウェアデコーダ、ソフトウェアデコーダのいずれも、理論的にはデコード処理性能は解像度によって変わらないはずである。しかし、同図に示すように、ソフトウェア処理によれば、解像度が小さくなるにつれて比例的に処理性能が減衰し、また、ハードウェア処理によれば、解像度が小さくなるにつれて極端に処理性能が落ちてしまうことが分かる。
このように、ハードウェアデコーダによる復号処理において、解像度が小さくなるにつれて極端に処理性能が落ちてしまう理由は、ハードウェアデコーダが、画像の垂直方向において、所定の解像度単位で並列処理を行っているためと考えられる。
図22は、ハードウェアデコーダにおける垂直方向の並列処理について説明するための図である。同図(a)は、ハードウェアデコーダが並列処理を行わない場合であり、同図(b)はハードウェアデコーダが並列処理を行う場合を示している。
一般的に、復号処理はマクロブロック(MB)(例えば、16×16画素)単位で行われ、並列処理を行わない場合であれば、同図(a)に示すように、マクロブロックの水平一列に対応した1つのデコーダコアが、当該列の各マクロブロックを順に復号していく。ここで、H.264規格のように、イントラ予測が採用されているのであれば、既に復号処理された周りの所定のマクロブロックの情報を参照しつつ、一行ごとに復号が進められていく。
これに対して、ハードウェアデコーダが並列処理機能を有する場合は、同図(b)に示すように、複数のマクロブロックに対応した複数のデコーダコアが備わっており、それら複数のデコーダコアが複数のマクロブロックに対して同時並列的に復号処理を進めていく。
この場合も、イントラ予測が採用されているのであれば、同図(b)に示すように、典型的には波状に処理が進むこととなり、そのことから、かかる並列処理は、ウェイブフロント並列処理(wave front parallel processing)と呼ばれている。
図22(b)に示すような複数ハードウェアデコーダコアによる並列処理にあっては、垂直方向に十分大きな解像度を有する画像であれば並列処理の利点を十分に享受できるものの、垂直方向に解像度の小さい画像については、その利点を享受できない場合がある。
例えば、マクロブロックが16×16画素であり、マクロブロックに対して1対1で備わるハードウェアデコーダコアが8個備わっているとすると(なお、同図(b)ではハードウェアデコーダコアが5個の場合を例示している)、一度に処理する垂直方向の画素数が128画素(16画素×8=128画素)ということとなり、理論的には、その128画素より小さい垂直方向の画素数を有する画像は、当該並列処理の利点を享受できないこととなる。
このように、小さな解像度の画像を復号処理する場合、どの程度、処理性能が低下するかは、並列処理時に用いられるデコーダコア数と復号される画像の解像度とに依存する。しかし、大きな解像度を有する画像の復号処理を高速に行うことを目的に多数のデコーダコアで並列処理を行う汎用のハードウェアデコーダを利用すると、小さな解像度の画像を復号処理する場合は、大きな解像度の画像を処理する場合と比較し、相対的に処理性能が落ちることとなる。
また、上記のように並列処理を前提とした汎用ハードウェアデコーダにおける処理性能低下に加え、解像度の小さい画像を処理する環境に起因した処理速度の低下も考えられる。すなわち、解像度の小さな画像も解像度の大きな画像も1ピクチャである点で変わらず、1ピクチャを復号する処理においては、画像データの符号化処理自体以外に、デコーダの初期化等の付随処理が必ず伴う。
したがって、遊技機等のように小さな解像度の画像を複数表示しようとすると、各画像を表示するために行われるデコーダの初期化等の付随処理が画像数に応じて増加し、その結果、見かけ上の復号処理性能が落ちてしまう。
以上のような理由から、パチンコ機及びパチスロ機に代表される遊技機のように、解像度の小さな動画を、特に並列的に、多く表示するような装置では、処理速度が極端に遅くなるという課題があった。
本発明は上述のような事情から為されたものであり、本発明の目的は、小さな解像度の動画が多く表示される遊技機に含まれるような画像処理装置であっても、復号処理能力が落ちることのない画像データ処理方法を提供することにある。
上記目的を達成するため、本発明の画像データ処理方法は、動画に係る符号化画像データを出力すると共に、その動画の再生に係る指令を発行する上位CPUと、ハードウェアデコーダを有し、入力される前記指令に基づき、前記動画に係る符号化画像データを復号する画像処理プロセッサと、前記画像処理プロセッサにより復号された画像データに基づいて前記動画が再生される表示部と、を備えた画像処理装置を使用した画像データ処理方法であって、指令に基づき表示部に複数の動画が再生される場合に、上位CPUは、各動画を符号化画像データであるスライスのレベルで合体させて、複数スライスの1ピクチャと見立てて一括して符号化画像データを構成して前記画像処理プロセッサに供給し、ハードウェアデコーダは、その一括化された符号化画像データを復号することを要旨とする。
本発明の画像データ処理方法によれば、解像度が小さい複数の動画を再生する際、上位CPUでは各動画をスライスレベルで合体させ、複数スライスの1ピクチャとした符号化画像データを生成し、ハードウェアデコーダでは複数の動画が合体された複数スライスの1ピクチャを復号するので、動画再生毎に必要なハードウェアデコーダの初期化等の処理を不要とし、復号処理速度を向上することができる。
(a)は本発明の画像データ処理方法における実施形態の概要を説明するためのフローチャートであり、(b)はその説明図である。 各動画の符号化処理の手順を示すフローチャートである。 (a)(b)は画像データの補填(パディング)処理を説明するための図である。 復号前の事前処理における、各動画間のピクチャタイプを合せる時間調整を説明するための図である。 符号化後の各動画のビットストリームを示す図である。 本発明の画像データ処理方法の第一の実施の形態において使用される画像処理装置の構成を示すブロック図である。 各動画を符号化データであるスライスのレベルで合体させて、複数スライスの1ピクチャと見立てて一括して復号することを説明するための図である。 (a)(b)は事後処理部の処理を説明するための図である。 (a)(b)は動画が中断して他の動画に切り替わる場合を説明するための図である。 動画が中断して他の動画に切り替わる場合を説明するための図である。 本発明の画像データ処理方法の第二の実施の形態において使用される画像処理装置の構成を示すブロック図である。 パチンコ機やパチスロ機のような遊技機における動画再生の例を示す図である。 (a)〜(f)は具体例に基づき、事前処理部における処理を説明するための図である。 (a)〜(f)は具体例に基づき、事前処理部における処理を説明するための図である。 (a)〜(f)は具体例に基づき、事前処理部における処理を説明するための図である。 (a)、(b)、(a)’、(b)’は具体例に基づき、事前処理部における処理を説明するための図である。 (a)〜(c)は具体例に基づき、事後処理部における処理を説明するための図である。 従来の画像処理装置の構成を示す図である。 H.264規格に基づき符号化された画像の符号化データの一般的なビットストリームを示す図である。 (a)(b)はパチンコ機やパチスロ機のような遊技機における動画再生を説明するための図である。 汎用ハードウェアデコーダにおけるデコード性能を示す図である。 (a)(b)はハードウェアデコーダにおける垂直方向並列処理を説明するための図である。
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
図1を参照して、本発明の画像データ処理方法における第一の実施の形態の概要を説明する。
本発明においては、端的に言えば、垂直方向の解像度が小さい複数の動画の符号化画像データを合体させて、その合体したものを復号し、得られた画像データから、元の複数の動画を分離する、という処理を行うことにより、垂直方向の解像度が小さい動画が多くあっても、復号処理性能を落とさないようにするものである。
より具体的には、同図(a)において、まず、演出画像の設計者は、所定の動画の表示処理が行われる画像処理装置(例えば、パチンコ機に組み込まれているもの)において、どのような動画をどのタイミングで表示するか等の演出設計を行い、その際、画像処理装置に表示される各動画のうち、複数の動画をどのように合体して復号処理を行うべきかという、動画選別を含む復号処理設計を行う(ステップS1)。ここで、演出設計者とは、例えば、パチンコ等の遊技機のある演出において、同時に再生すべき動画を決める者である。
演出設計者は、同図(b)に示すように、垂直解像度の大きい動画Xについては単独で処理し、垂直解像度の小さい動画Y及び動画Zについては、合体して復号処理できる可能性がある、と設計する。そして、エンコーダは、動画X、動画Y、及び動画Zをそれぞれ符号化する(ステップS2)。
次に、デコーダは、動画Xについては、その符号化データを単独で復号し、動画Xを復元して、画像処理装置の表示部に所定のタイミングで表示する。一方、デコーダは、動画Y及び動画Zについては、それらの表示タイミングによっては、それらの符号化データを合体させて復号し、動画X及び動画Yを復元し、更にそれらを分離することにより、表示部にそれぞれのタイミングで表示する(ステップS3)。
なお、上記復号処理設計においては、設計者が演出に必要な動画を選択し、その表示タイミングを入力することで合体すべき動画を選別するソフトウェアを用いても良い。また、ソフトウェアに画像処理装置の同時再生処理能力を入力することで、同時再生処理能力を基準に合体可能な動画を選択できるよう制御しても良い。
以下、上述した概要をより具体的にした第1実施形態について、いくつかの所定条件も含めて詳細に説明する。
<復号設計処理(ステップS1)>
復号時に合体させるべき動画を選別する条件を解像度の観点で検討すると以下の通りである。
(1)合体させるべき各動画の垂直方向の解像度は、複数のデコーダコアによる並列処理の”画素数”以下である
(2)合体させるべき各動画の垂直方向の解像度の合計値が、複数のデコーダコアによる並列処理の”画素数”を越えること
(3)ただし、合体させるべき各動画の垂直方向の解像度の合計値が、デコーダの垂直方向の”最大解像度”を越えないこと
条件(1)は従来の技術で説明したように個々の動画が複数デコーダコアによる並列処理の恩恵を受けられないものであることを示している。また条件(2)は複数の動画を合体した結果、その垂直方向の解像度の合計が複数のデコーダコアの並列処理の画素数を超えることで、並列処理の恩恵を受けることを示している。更に条件(3)はデコーダで復号処理ができないほど複数の動画を合体しないことを示している。
すなわち、通常であれば複数デコーダコアによる並列処理の恩恵が受けられない動画を、デコーダで復号処理ができる範囲で複数合体させることで、複数デコーダコアによる並列処理の恩恵をうけることを示している。また、各動画を画像処理装置に表示するタイミングの観点に立つと、合体させるべき各動画は、表示タイミングが可及的に近いもの同士である。
上記の解像度の観点の条件を満たしていれば、どのようなタイミングで表示される動画同士でもよいのであるが、復号処理の時点と表示の時点が離れているほど、復号処理後の画像データを一旦蓄えておく画像データバッファでの滞留時間が長くなってしまう。
したがって、表示するタイミングの観点における、合体させるべき各動画の選別は、当該画像データバッファの容量に依存する。なお、遊技機を例に挙げて説明すると、一つのイベントで同時或いは同時期に再生される動画であって、上記条件(1)〜(3)を満たすものを合体させるデータとして復号設計処理を行うのが好適である。
<符号化処理(ステップS2)>
次に、図2を参照して、各動画の符号化処理について説明する。演出設計者は、符号化すべき動画を選択する(ステップS21)。そして、演出設計者は、選択した動画が、前述の復号設計処理に基づき、他の動画と合体させるべき動画か否かを判断する(ステップS22)。
図20(a)に例示したような表示画面一杯に表示される動画Aのような場合は、単独で復号処理を行うので、ステップS22は否定判定となる。そして、演出設計者は、ステップS23をスキップしてステップS24に移行する。
一方、図20(a)に例示したような動画B乃至動画G(垂直方向解像度が例えば128画素以下)の場合は、演出設計者は他のいずれかと合体させて復号処理するとしたものであるので、ステップS22は肯定判定となり、ステップS23に移行する。
ステップS23においては、演出設計者は、画像データの補填処理(パディング)を行う。なお、上記ステップ22、23は演出作成用のソフトウェアを用いて処理しても良い。すなわち、設計者が演出に必要な動画を選択し、その表示タイミングを入力することができるソフトウェアで、選択された動画を上記条件に照らし合わせて合体すべき動画であるか否かを判定し、また合体する動画の解像度に応じて必要があればパディングしたデータを出力するようにしてもよい。
図3は、その補填処理を説明するための図である。
例えば、動画Bと動画Fとが組で合体でき、動画C、動画D、及び動画E(動画G)とが組で合体すべき場合を想定する。なお、動画Gは、図20(b)に示したように、動画Eが再生途中で中断した場合に、そこから再生されるべき動画である。そこで、少なくとも同じ組の各動画は、後述する復号処理の方式から、水平方向の解像度が揃っている必要がある。
したがって、演出設計者またはソフトウェアは、水平方向の解像度を揃えるために各動画の水平方向について画像データの補填処理を行う。このとき、演出設計者またはソフトウェアは、各動画の水平方向の解像度をデコーダの水平方向の最大処理解像度に一律に揃えてもよい。そうすれば、すべての組について、その同じ最大処理解像度に揃えることができるので、補填処理自体は簡易となる。
しかしながら、例えば、動画C、動画D、動画Eのように、水平方向に小さな解像度の動画ばかりを合体させる際に、各動画の水平方向の解像度を一律にデコーダの水平方向最大処理解像度に揃えようとすれば、補填データばかりが大きくなり、符号化効率が低下する。
そのため、各動画を合体させる場合には、例えば、水平方向120、240、480、960、1920画素というように、いくつかの揃える基準を設けるのが得策である。揃える基準は、合体させる各動画のうちの最大の水平方向解像度を有する動画の当該解像度によって決まるのであるから、それらの基準の数やその値の設定は、合体させる各動画の各水平方向解像度のばらつきに依存する。
このように水平方向解像度にいくつかの基準を設定した場合には、上述した条件(1)〜条件(3)に加え、各動画の水平方向解像度も合体させるべき動画の選定条件の一つとなる。
ステップS24においては、エンコーダは、各動画の符号化処理を行う。エンコーダは、例えば、H.264規格に基づき、ソフトウェア処理により各動画の符号化処理を行う。このときの条件としては、少なくとも組み合わせられる各動画については、1GOPに含まれるフレームの数が同一(例えば、30)であり、かつ、各動画のフレームのピクチャタイプの順序が同じになるような符号化処理を行うことである。
図4は動画C、動画D、動画Eについて、各動画間のピクチャタイプを合せて符号化処理を行うイメージ図であり、前述した補填処理を行い、少なくとも各動画の垂直方向解像度が揃い、かつピクチャタイプの順序が一致した状態で符号化される。同図に示す例では各動画のGOPは第1番目のフレームがIピクチャ、第2番目及び第3番目のフレームがPピクチャ、第4番目のフレームがBピクチャとして示している。また動画C、動画D、動画Eの各GOP[1]に含まれるフレーム数は同一で、同様に各動画のGOP[2]に含まれるフレーム数は同一である。但し、GOP[1]のフレーム数とGOP[2]のフレーム数とは同一である必要はない。
次に、図5を参照して、符号化後の各動画のビットストリームについて説明する。図5は、符号化後の動画のビットストリームを示す図である。動画のビットストリームは、従来と同様、1ピクチャが1スライスとして構成され、また、スライスのヘッダーにはマクロブロック開始座標の情報が格納される。
本発明に特徴的なものとしては、更に、“元画像のデータサイズ”(解像度)(例えば、図3に示す動画Cであれば、110×48)を別途、SEIもしくはMP4などNALを内包するコンテナに入れて符号化処理を行うことである。これは、後述するように、各動画の復号処理を行い表示する画像処理装置において、復号処理後に、元画像を抽出できるようにするためである。
ステップS25においては、演出設計者またはソフトウェアは、未処理の動画が残っているか否かを判定し、残っていれば(肯定判定)、ステップS21に戻り、以上の処理を繰り返し、全動画終了であれば、処理を終える。なお、上述の第1実施形態においては、垂直方向の解像度については、各動画についてそのまま、すなわち区々とした。しかし、合体して復号処理すべき各動画については、補填処理により垂直方向の解像度も揃えるということも考えられる。
垂直方向の解像度も揃えると、同一組として合体して復号処理すべき各動画の入れ替えが、簡単に行え、上述の符号化設計処理において処理が簡素になる。例えば、動画Cの垂直方向の解像度は64画素なので、合体の対象となっている動画D、動画E、動画Gの垂直方向の解像度を48画素から64画素となるよう補填処理を行う。その後、演出設計者は動画Eに代えて動画H(補填処理したか否かに関わらず、垂直方向解像度が64画素、図示せず)を表示させたいと考えた際に動画Eと動画Hとを簡単に入れ替えることが可能となる。
<デコーダを備えた画像処理装置における画像データ処理(ステップS3)>
図6は、本発明の第1実施形態において使用される画像処理装置Bの構成を示すブロック図である。
同図に示す画像処理装置Bは、上位CPU(central processing unit)1と、画像データROM2と、画像処理プロセッサ3と、表示部4とで構成されている。
上位CPU1は事前処理部11を有し、事前処理部11は、各動画再生タイミング情報生成部111と動画間各ピクチャ合体部112とを有している。また、画像処理プロセッサ3は、事後処理部31と、ハードウェアデコーダ32と、ビデオメモリ33とを有し、更に事後処理部31は、命令解釈部311と、描画制御部312とを有している。描画制御部312には、各動画分離部3121と、元画像切出し部3122と、各動画表示タイミング制御部3123とが含まれている。
ここで、画像データROM2には、上述の<符号化処理(ステップS2)>によって符号化された各動画のデータが格納されている。すなわち、動画の再生タイミングに応じて、他の動画と合体すべき動画の水平方向解像度が統一または水平方向解像度と垂直方向解像度の双方が統一された状態で、かつ、各動画のストリームのSEI等の非VCL_NALユニットに元の画像サイズのデータ情報が格納されたものである。
図6に示す画像処理装置における画像データ処理は以下の通りである。
まず、上位CPU1は、画像処理装置Bでの演出設計に基づき、画像データROM2から必要な動画に係る符号化画像データを読み出してくる。ここで読み出されるデータは前述の<復号設計処理(ステップS1)>で設計された合体可能な各動画に係る情報に基づいたものであり、読み出されたデータは事前処理部11の動画間各ピクチャ合体部112で合体される。
図7は事前処理部11の動画間各ピクチャ合体部112で行われるビットストリームの組み替えを示す図であり、動画間各ピクチャ合体部112では、読み出された1ピクチャ分の各動画のデータをスライスレベルで合体し、複数スライスの動画データにする。前述のように、各動画の符号化データのビットストリームにおいては、通常、同図の左側に示すように、1ピクチャ1スライスで構成されている。これに対して、合体の処理においては、各動画の符号化データのビットストリームからスライス部分を抽出し、それをシリーズに並べることにより合体させる。
なお、本実施の形態においては、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)及びSEI(Supplemental Enhancement Information)を一組としており、合体後のビットストリームのパラメータセット等は必要に応じてそれらを書き変えることとなる。例えば、SPSには、参照フレーム数やフレームの幅及び高さの情報が含まれているが、合体させた後の1ピクチャは元の個々のピクチャと高さ(垂直方向解像度)が異なるので、少なくとも高さ情報は修正される。なお、PPSには符号化方式や量子化係数等の情報が含まれているが、これらは符号化処理の際に各動画で共通としておけば、修正の必要はない。また、合体する動画の量子化係数が異なる場合には、スライスのヘッダーに含まれるSlice_QP_deltaを書き換えることで修正する。
合体前の各動画のビットストリームのSEI等のコンテナには元画像のデータサイズの情報が格納されており、動画間各ピクチャ合体部112は合体する動画のビットストリームの各SEIから元画像データの情報を抽出し、画像処理プロセッサ3に供給する。更に、合体する各スライスのヘッダーには開始マクロブロック座標の情報が格納されている。図7に示す例では動画Cのスライスのヘッダーに格納された開始マクロブロック座標は書換えの必要がない。しかし、動画D及び動画Eの各スライスのヘッダーに格納された開始マクロブロック座標は各動画D、動画Eの開始マクロブロックの位置に応じて動画間各ピクチャ合体部112にて書き換えられる。
上記のような方法で各動画のスライスを順次抽出し、合体させて新たなビットストリームとし、そのビットストリームを画像処理プロセッサ3のハードウェアデコーダ32に供給する。なお、各動画を符号化する際、GOPのフレーム数および各フレームのピクチャタイプを揃えているので、動画間各ピクチャ合体部112で合体される各動画のスライスのピクチャタイプは一致している。
複数のスライスで構成された合体後の符号化画像データに基づく各動画は、表示させるべきタイミングが異なる場合がある。例えば、図20(b)に示したように動画C、動画D、動画Eは再生開始のタイミングがずれているので、上位CPU1は、設計された演出情報に基づき各動画再生タイミング情報生成部111を用いて各動画の再生タイミング情報を生成し、その情報を画像処理プロセッサ3に供給する。
ハードウェアデコーダ32は、上位CPU1から供給された合体後の符号化画像データに対して復号処理を行い、復号結果をビデオメモリ33に供給すると共に、図示しない復号完了通知を上位CPU1に出力する。
ハードウェアデコーダ32から復号の完了通知を受け取った上位CPU1は、画像処理プロセッサ3の事後処理部31に事後処理の指令を行い、その命令解釈部311は、その指令に含まれる、少なくとも、合体に係る各動画の元画像データ情報や各動画の再生タイミングに係る情報を描画制御部312に供給する。
描画制御部312に含まれる各動画分離部3121、元画像切出し部3122、及び各動画表示タイミング制御部3123は、各動画の元画像データ情報や各動画の再生タイミングに係る情報と、各スライスのヘッダーに格納された開始マクロブロック座標データに基づき、ビデオメモリ33に格納された復号画像データに対して所定の事後処理を施したのち、その結果を表示部4に供給して各動画として表示させる。
図8乃至図10を参照して、事前処理部11及び事後処理部31の処理内容について更に説明する。上位CPU1では、画像処理装置に対して設計された動作処理(遊技機であれば、当該画像処理装置が組み込まれた遊技機における遊技の進行の設計動作)に基づき、動画の表示指令が発行される。例えば、図20(a)、(b)に示した例においては、上位CPU1では、“動画Aを所定のタイミングから再生せよ”であるとか、動画Eが再生されている途中で、“動画Eの再生を中断し、代わりに動画Gを再生し始めよ”というような指令が発行される。
上位CPU1は、発行された指令に基づき、画像データROM2から符号化画像データを取得し、例えば“動画Aを所定のタイミングから再生せよ”という指令であれば、画像データROM2から動画Aに関する符号化画像データを取得する。そして、上位CPU1は、動画Aに関する符号化画像データを画像処理プロセッサ3のハードウェアデコーダ32に供給し、ハードウェアデコーダ32によりビデオメモリ33に復号された画像データが格納された後、描画制御部312を用いて画像を作成し、所定のタイミングで表示部4に供給することで動画Aの再生が表示部4で行われる。
また、上位CPU1で複数の動画、例えば、動画C、D、E及びGを再生する指令が発生すると、上位CPU1は、必要な符号化画像データを画像データROM2から読み出す。動画間各ピクチャ合体部112は、読み出した各動画のビットストリームに含まれるスライスのヘッダー領域に含まれる先頭マクロブロック座標の情報を動画の合体状況に応じて書き換えると共に、複数のスライスを合体させ、それを画像処理プロセッサ3のハードウェアデコーダ32に供給する。なお、上位CPU1は必要な符号化画像データを画像データROM2から読み出す際、読み出した各動画のビットストリームのSEIに格納された元画像のデータサイズに関する情報を抽出する。
スライスのヘッダー領域に含まれる先頭マクロブロックの座標情報書き換えとは、ヘッダー領域に当該スライスの先頭マクロブロックの番号に関する情報が格納されており、通常、画面左上から先頭マクロブロックが始まるので当初は「0」の情報が格納されている。しかし、合体される動画データは合体する際の各スライスの配置に応じて先頭マクロブロックの座標が変わるので、それを所望の値に変更するものである。
図8(a)に示すように動画C、動画D、動画Eをまとめて大きな1つの画像として合体させる場合、動画Cのスライスのヘッダー領域に含まれる先頭マクロブロックの座標情報は書き換える必要がないが、動画D、動画Eは先頭マクロブロックの座標が変わるので、合体の状態に応じて座標情報を書き換える必要がある。例えば、マクロブロックが16×16画素、動画C(垂直方向画素数は48)の水平方向の解像度が補填データを含めて120の場合、動画Dの先頭マクロブロック座標は24なので、当初「0」が格納された情報を「24」に変更する。同様に動画Eの先頭マクロブロック座標は「56」に変更される。このように、上位CPU1は、ハードウェアデコーダ32が正常に復号できる複数スライスからなるH.264ストリームを生成する。
ハードウェアデコーダ32では、当該符号化画像データを受け取ると、1ピクチャが複数スライス(例では3スライス)で構成されたものと認識する。1ピクチャを複数スライスで構成することは、規格(H.264)で認められているので、ハードウェアデコーダ32は入力した符号化画像データをそのまま復号処理を行うことができる。
しかしながら、ハードウェアデコーダ32は、当該符号化画像データが複数の動画を合体させたものであるということまでは認識しない。これは、言い換えれば、ハードウェアデコーダ32については、何ら手を加える必要がないということを意味している。
ハードウェアデコーダ32で符号化画像データが復号され、ビデオメモリ33に格納された後、上位CPU1は、合体した復号画像データから個々の画像へ切出すための情報、各動画の元画像のデータサイズ及び動画表示タイミング等の情報を指令情報として生成し、画像処理プロセッサ3に出力し、この指令情報は画像処理プロセッサ3の命令解釈部311で解釈される。
例えば、命令解釈部311は、解釈した指令が、“動画Cを所定のタイミングから再生せよ”、“動画Dを所定のタイミングから再生せよ”、“動画Eを所定のタイミングから再生せよ”というものであった場合、ビデオメモリ33内に格納されている復号画像データのうち、動画Cに係わる画像と、動画Dに係わる画像と、動画Eに係わる画像をそれぞれ切出すよう描画制御部312に指令を出力する。すなわち、上位CPU1の事前処理部11から、合体した復号画像データを個々の画像へ切出すための情報、各動画の元画像のデータサイズ情報及び動画表示タイミング等の情報を受け取っているので、これらの情報を描画制御部312に出力し、描画制御部312では各動画分離部3121、元画像切出し部3122、各動画表示タイミング制御部3123を制御して上位CPU1の指令に応じた動画を表示装置4に表示する。
図8(a)は画像処理プロセッサ3における画像処理の一部、(b)は各動画の再生タイミングを示している。ビデオメモリ33には同図(a)の左側に記載したような復号データが格納されており、各動画を切出すための情報及び元画像データサイズ情報を用いて同図(a)右側に示したように補填データが削除された所望の領域の動画である、動画C、動画D、動画Eを得る。更に動画表示タイミング情報に基づいて同図(b)に示したようなタイミングで各動画を表示装置4に表示する。したがって、ビデオメモリ33は復号した画像データを所望のタイミングまで格納しておく機能、所謂、バッファのような機能も必要である。
なお、図8(b)に示したように、各動画は、再生時間が区々であることから、復号処理は再生時間の短いものから先に終了していく。すなわち、動画C、D、Eを合体してハードウェアデコーダ32に符号化画像データを供給した場合、各動画の再生時間が動画D>動画C>動画Eのため、動画Dの復号中に動画C及びEの復号処理が終了する。このとき、動画の垂直解像度、表示タイミング、ビデオメモリ内のデータバッファとしての容量の観点で条件を満たせば、別の動画を復号が終了している動画Eや動画Cの領域に差し入れることもできる。その場合も、他の動画とGOP単位で整合をおこなう。
次に図8(b)に示したように、動画Eが途中で動画Gに切り替わる場合のGOP及び各スライスの状態について、図9及び図10を用いて説明する。図9(a)は動画Eの中段が無い場合の各動画のGOPを示す図あり、各動画のGOP[1]〜GOP[3]が画像データROM2から読み出されることを示している。一方、図9(b)は動画Eが中断して代わりに動画Gが再生される場合に画像データROM2から読み出されるGOPを示している。(b)に示した例では動画EのGOP[2]の後に、動画EのGOP[3]の代わりに、動画GのGOP[1]が組み込まれている。
図10は、動画EのGOP[2]と動画GのGOP[1]の境目を、各動画のピクチャの合体の観点から見たものである。なお、SPS、PPS及びSEIのNALユニットについては記載を省略している。同図に示すように、切替え前の最終フレームにおいては、動画C、動画D、及び動画Eの各Pピクチャを合体させるようになっているが、切替え後の最初のフレームにおいては、動画C、動画D、及び動画Gの各Iピクチャを合体させるようになっている。すなわち、動画Gの再生を開始するためには、必ず動画GのIピクチャが必要となるので、動画C、動画DのピクチャタイプがIピクチャのタイミングで動画Eから動画Gへの切り替えを行う必要がある。
以上のように、本発明の画像データ処理方法における第1実施形態によれば、垂直方向に解像度が小さい各動画については、合体させて一括で復号処理をしているので、垂直方向に複数のデコーダコアにより並列処理を行っているような場合でも、その機能を享受することができる。
また、複数の動画を合体させて復号処理の数を減らした分だけ、デコーダの初期化等の付随処理が減ることとなり、処理時間は格段に短くなる。
また、各動画のピクチャ単位でそれらのスライスを複数のスライスとして纏めるというやり方で、各動画を合体させているので、ハードウェアデコーダ32の構成や機能を何ら変更する必要はない。
次に、本発明に係る第二の実施の形態について説明する。上述した第一の実施の形態では、各動画を合体させるため、符号化の際に各動画のGOPのピクチャタイプの順番を揃えると共に、フレーム数も一致させている。したがって、動画を切り替えるタイミングはピクチャタイプが全てIピクチャである必要があり動画の切り替えタイミングに少し制約がある。また動画の再生タイミングが近いもの同士を合体させているが、動画表示タイミングを制御するための情報を上位CPU1の事前処理部11から画像処理プロセッサ3の事後処理部に供給すると共に画像データを格納しておくデータバッファが必要である。
そこで第二の実施の形態では第一の実施の形態を更に改良し、GOPのピクチャタイプの順番を揃えたり、表示タイミングを制御するための情報を画像処理プロセッサに供給しない方法を開示する。
まず、画像データ処理方法の全体の流れは、図1に示したように、演出画像の設計者が、所定の動画の表示処理が行われる画像処理装置(例えば、パチンコ機に組み込まれているもの)において、どのような動画をどのタイミングで表示するか等の演出設計を行い、その際、画像処理装置に表示される各動画のうち、複数の動画をどのように合体して復号処理を行うべきかという、動画選別を含む復号処理設計を行う(ステップS1)。ここで、演出設計者とは、例えば、パチンコ等の遊技機のある演出において、同時に再生すべき動画を決める者である。例えば、同図(b)に示すように、動画Xについては単独で処理し、垂直解像度の小さい動画Y及び動画Zについては、合体して復号処理できる可能性がある、と設計する。
そして、エンコーダは、動画X、動画Y、及び動画Zをそれぞれ符号化する(ステップS2)。次に、デコーダは、動画Xについては、その符号化データを単独で復号し、動画Xを復元して、画像処理装置の表示部に所定のタイミングで表示する。一方、デコーダは、動画Y及び動画Zについては、それらの表示タイミングによっては、それらの符号化データを、表示タイミングに応じて合体させて復号し、動画X及び動画Yを復元し、更にそれらを分離することにより、表示部に表示する(ステップS3)。
ここで、第一の実施の形態と異なるのは、ステップS2の符号化において合体する動画のGOPのピクチャタイプの順番を揃える必要はなく、またフレーム数を一致させる必要がない点である。したがって、合体すべき動画は合体される他の動画のピクチャタイプやフレーム数を気にすることなく用意しておけば良い。また、符号化された各動画のデータを表示タイミングに応じて合体させ、復号する点も第一の実施の形態と異なっている。
<復号設計処理(ステップS1)>
復号時に合体させるべき動画を選別する条件は解像度の観点から以下の通りである。
(1)合体させるべき各動画の垂直方向の解像度は、複数のデコーダコアによる並列処理の”画素数”以下である
(2)’表示タイミングに応じて合体させるべき各動画の垂直方向の解像度の合計値が、相当時間において、複数のデコーダコアによる並列処理の”画素数”を越えること
(3)’ただし、表示タイミングに応じて合体させるべき各動画の垂直方向の解像度の合計値が、いずれの時刻においても、デコーダの垂直方向の”最大解像度”を越えないこと
条件(1)は従来の技術で説明したように個々の動画が複数デコーダコアによる並列処理の恩恵を受けられないものであることを示している。また条件(2)’は表示のタイミングで複数の動画を合体した結果、その垂直方向の解像度の合計が複数のデコーダコアの並列処理の画素数を超えることで、並列処理の恩恵を受けることを示している。更に条件(3)’はいずれの時刻においても、デコーダで復号処理ができないほど複数の動画を合体しないことを示している。
すなわち、通常であれば複数デコーダコアによる並列処理の恩恵が受けられない動画を、デコーダで復号処理ができる範囲で複数合体させることで、複数デコーダコアによる並列処理の恩恵をうけることを示している。
第一の実施の形態では、動画の再生タイミングが近いものを纏めてデコーダに供給していたので、上記条件(2)及び(3)は表示タイミングを考慮していなかったが、第二の実施の形態では表示タイミングに応じて動画を合体させるため、条件(2)’、(3)’は表示タイミングに関する条件が含まれている。
なお、本実施の形態においてはデコーダの垂直方向の“最大解像度”を越えないような所定の垂直方向解像度を規定しておき、上記条件(1)及び(2)’を満たす各動画を、規定した解像度範囲内で適宜組み合わせる、という概念を導入する。つまり、一般的なメモリ管理のように、表示タイミングに応じた動画の追加や削除は、垂直方向解像度に係る空き領域の管理で行うようにする。
また各動画を画像処理装置に表示するタイミングの観点からは、合体させるべき各動画は、表示タイミングが近いもの同士である。
この点に関し、第一の実施の形態においては、合体させるべき各動画の表示タイミングに拘わらず、各符号化画像データの時間的先頭を揃え、GOPも揃えて復号処理を行っていることから、各動画の表示タイミングを踏まえて復号処理後の画像データを一旦蓄えておくデータバッファが必要であった。したがって、データバッファの容量の制限を踏まえると、合体させるべき各動画は、表示タイミングが可及的に近いもの同士ということになる、としていた。
一方、本実施の形態おいては、後述するように、各動画の表示タイミングでそれらの符号化画像データを合体させているので、第一の実施の形態のように復号処理後の画像データを格納しておくデータバッファは必要ではない。ただし、ビデオメモリを有効に活用するためには、第一の実施の形態で説明したように、“一つのイベントで同時或いは同時期に再生される動画”を対象として合体させるのが好適である。
このような復号設計処理は、演出設計者が行っても良いし、設計者が演出に必要な動画を選択し、その表示タイミングを入力することで合体すべき動画を選別するソフトウェアを用いても良い。また、ソフトウェアに画像処理装置の同時再生処理能力を入力することで、同時再生処理能力を基準に合体すべき動画を選別するよう制御しても良いし、後述する合体画像枠を設定し、その枠を利用して動画選別を制御しても良い。
<符号化処理(ステップS2)>
次に、各動画の符号化処理について説明する。符号化処理の手順については、前述した第一の実施の形態と同様に図2に示した通りである。また、各動画の水平解像度を一致させるための補填処理(図3)や符号化後の各動画のビットストリーム(図5)も同じである。
演出設計者は、符号化すべき動画を選択する(ステップS21)。
そして、演出設計者またはソフトウェアは、選択した動画が、前述の復号設計処理に基づき、他の動画と合体させるべき動画か否かを判断する(ステップS22)。
単独で復号処理を行う動画であればステップS22は否定判定となる。そして、演出設計者またはソフトウェアは、ステップS23をスキップしてステップS24に移行する。
一方、他のいずれかと合体させて復号処理するものであれば、ステップS22は肯定判定となり、ステップS23に移行する。
ステップS23の補填処理については第一の実施の形態と同様であるため、その説明を省略する。なお、第二の実施の形態では、デコーダの垂直方向の“最大解像度”と補填処理を前提とした水平方向解像度とで規定される画像の大きさを、説明の便宜上“合体画像枠”と称する。
次に、ステップS24においてエンコーダは、各動画の符号化処理を行う。エンコーダは、例えば、H.264規格に基づきソフトウェア処理により行う。このときの条件として、第一の実施の形態においては、少なくとも同じ組である各動画については、1GOPに含まれるフレームの数が同一(例えば、30)で、かつ、ピクチャタイプの順番が同じになるような符号化処理を行う、を規定していた。
これに対して、第二の実施の形態においては、少なくともステップS22において同じ組とした各動画については、復号タイミングと復号出力タイミングとがずれないような符号化処理を行う。復号タイミングと復号出力タイミングとがずれないようにするためには、各動画における参照バッファの管理を同一とすれば良く、例えば、H.264規格ではPOC Type=2、かつ時間的に未来に当たる画像を参照画として用いず、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)の解像度に関する項目以外については共通する符号化がこれに当たる。合体すべき各動画間での、参照バッファの管理の同一化の更なる具体例としては、以下のようなものがある。
(a)Bピクチャは使用しないで参照バッファを1つとする
(b)Bピクチャを採用して2つの参照バッファ(例えば、バッファ“0”とバッファ“1”)を採用するものの、未来方向の画像は参照せず、かつ時間的に古い画像の方を常にバッファ“0”に入れる
このような参照バッファの管理に関する条件を一致させて各動画を符号化すると共に、後述のように補間スライスという概念を導入すれば、第一の実施の形態の図4で説明したようにGOP構成を同一にしてピクチャタイプを揃えなくても、合体して復号処理が行えるようになる。
符号化後の各動画のビットストリーム(図5参照)は1ピクチャが1スライスとして構成され、また、スライスのヘッダーにはマクロブロック開始座標の情報が格納される。更に、本発明では第一の実施の形態及び第二の実施の形態共に、“元画像のデータサイズ”(例えば、図3に示す動画Cであれば、110×48:解像度)を別途、SEIもしくはMP4などNALを内包するコンテナに入れる処理を行っている。
ステップS25においては、演出設計者またはソフトウェアは、未処理の動画が残っているか否かを判定し、残っていれば(肯定判定)、ステップS21に戻り、以上の処理を繰り返し、全動画終了であれば、処理を終える。
図3に示した、各動画の水平解像度を一致させるための補填処理では合体する各動画の垂直方向の解像度を統一していないが、第一の実施の形態で説明したように、各動画の垂直方向の解像度も幾つかのタイプに揃えて合体画像枠を構成しても良い。この場合、同一組として合体して復号処理すべき各動画の入れ替えが簡単に行えるというメリットがある。
<デコーダを備えた画像処理装置の実動による画像データ処理(ステップS3)>
図11は、本発明の画像データ処理方法の第二の実施の形態において使用される画像処理装置Cの構成を示すブロック図である。同図に示す画像処理装置Cは、上位CPU1と、画像データROM2と、画像処理プロセッサ3と、表示部4とで構成されている。
上位CPU1は、事前処理部15を有し、事前処理部15は、動画間各ピクチャ合体部16と、各動画合体情報生成部17とを有している。また動画間各ピクチャ合体部16は、補完スライス生成部18を有している。
また、画像処理プロセッサ3は、ハードウェアデコーダ32と、ビデオメモリ33と、事後処理部35とを有し、更に事後処理部35は、命令解釈部36と、描画制御部37とを有している。描画制御部37には、各動画分離部3121と、元画像切出し部3122とが含まれている。
ここで、画像データROM2には、上述の処理によって符号化された各動画のデータが格納されている。すなわち、復号のタイミングと復号画出力タイミングとがずれないよう、参照バッファの管理が同一の動画データが画像データROM2に格納されている。
図11に示す画像処理装置Cにおける画像データ処理の概要は以下の通りである。なお、事前処理部15及び事後処理部35の詳細説明については、後述する。
上位CPU1は、画像処理装置での設計動作に基づき、画像データROM2から必要な動画に係る符号化画像データを読み出してくる。上位CPU1は、<復号設計処理(ステップS1)>で設計された合体可能な各動画に係る情報に基づき、画像データROM2から合体可能な複数の動画に係る符号化画像データを読み出す。その後、動画間各ピクチャ合体部16が、各動画を表示させるべきタイミングに応じて、各動画ピクチャを各スライスとして合体すると共に、合体させるスライスのヘッダー領域に含まれる先頭マクロブロック座標の情報を書き換える。また、合体した各動画について、表示しない時間帯や一時停止の時間帯については、補完スライス生成部18が補完スライスを生成して充当する。そして、動画間各ピクチャ合体部16は、複数のスライスで構成された合体後の符号化画像データを画像処理プロセッサ3のハードウェアデコーダ32に供給する。
ハードウェアデコーダ32は供給された符号化画像データを復号するが、供給された符号化画像データが事前処理部15で複数の動画を合体したものであれば、供給された動画のビットストリームの各スライスのヘッダーには書き換えられた合体後の先頭マクロブロック座標の情報が含まれているため、ハードウェアデコーダ32は複数スライスの画像として処理する。
なお、第二の実施の形態においては、動画間各ピクチャ合体部16が合体させるべき各動画を表示させるべきタイミングで合体させるのであるから、第一の実施の形態のように、各動画に係る再生タイミング情報を生成して、画像処理プロセッサ3側に知らせる必要はない。
しかしながら、合体画像枠の垂直方向のうち、表示すべき画像がどの領域を占めており、どの領域が使用されていないかの情報や元画像のデータサイズを、逐次、画像プロセッサ3側に知らせる必要がある。上位CPU1は各動画のビットストリームを画像データROM2から読み出す際に各ストリームのSEI等のNALから元画像のデータサイズに関する情報を抽出し、更に各画像を合体させた際の画像合体枠の使用領域に関する情報(以下、元画像・合体画像情報)を各動画合体情報生成部17で生成し、元画像データサイズ情報と共に指令として画像処理プロセッサ3に供給する。
すなわち、上位CPU1は、符号化画像データを画像処理プロセッサ3のハードウェアデコーダ32に供給すると同時に、上述の各動画合体情報生成部17で生成した元画像・合体画像情報を含む復号の指令を画像処理プロセッサ3の事後処理部35に対して発行する。
画像処理プロセッサ3においては、ハードウェアデコーダ32が、上位CPU1から供給された符号化画像データに対して復号処理を行い、復号結果をビデオメモリ33に供給する。このとき、ハードウェアデコーダ32により供給される復号後の画像データは、常に各動画が表示に必要な最新のフレームで構成されている。その理由は、上位CPU1において、表示タイミングに応じて合体させているからである。従って、第二の実施の形態においては、第一の実施の形態において必要としていた特段のバッファは必要ではない。
一方、上位CPU1からの指令を受け取った事後処理部35の命令解釈部36は当該指令を解釈する。ここで、事後処理部35は、その指令に含まれる、元画像・合体画像情報に含まれる水平方向解像度に係る情報や、合体に係る各動画が垂直方向のうちのどの領域を占めており、どの領域が未使用であるかを表す情報、及び元画像のデータサイズを描画制御部37に供給する。
描画制御部37に含まれる各動画分離部3121は、合体に係る各動画が垂直方向のうちのどの領域を占めており、どの領域が未使用であるかを表す情報に基づき、各動画を分離する。また元画像切出し部3122は、元画像・合体画像情報に含まれる水平方向解像度や垂直方向解像度に係る情報に基づき、元画像を切り出して復元する。そして、元画像切出し部3122は、その結果を表示部4に供給して各動画として表示させる。
図12〜図17を参照しつつ、事前処理部11及び事後処理部31の詳細な処理内容について説明する。
上位CPU1では、画像処理装置に対して設計された動作処理(遊技機であれば、当該画像処理装置が組み込まれた遊技機における遊技の進行の設計動作)に基づき、動画の表示指令が発行される。
例えば、図12に示した例において、上位CPU1では、“動画Aを再生せよ”であるとか、“動画B及び動画Fの各符号化画像データを合体させて送るので、それらを分離して順次再生せよ”であるとか、“動画C、D、E、及びGの各符号化画像データを、一時停止や中断の情報も含めて合体させて送るので、それらを分離して順次再生せよ”というような指令が発行される。
上位CPU1は、動作処理設計に基づき、画像データROM2から符号化画像データを取得し、例えば“動画Aを再生せよ”という指令であれば、画像データROM2から動画Aに関する符号化画像データを取得し、画像処理プロセッサ3のハードウェアデコーダ32に供給する。次に、ハードウェアデコーダ32は、符号化画像データを復号し、復号された画像データをビデオメモリ33に格納した後に、描画制御部37を用いて画像を作成し、表示部4に供給することで動画Aの再生が表示部4で行われる。
また、動作処理が、複数の動画、例えば、動画C、D、E及びGを再生する、である場合に、上位CPU1は、画像データROM2から必要な動画の符号化画像データを読み出すと共に、各動画のビットストリームに含まれる元画像のデータサイズ情報を抽出する。
そして、動画間各ピクチャ合体部16は、まず、前述の合体画像枠を決定した後、合体させる動画のビットストリームの一部を構成するスライスを抽出し、そのヘッダー領域に含まれる先頭マクロブロック座標の情報を必要に応じて書き換え、さらに、表示タイミングに応じて、複数のスライスを合体させ、合体後の圧縮データを生成し、それを画像処理プロセッサ3のハードウェアデコーダ32に供給する。
各符号化画像データのスライス毎の合体については、前述した第一の実施の形態(図7及びその説明)と同様である。なお、第一の実施の形態においては、GOP構成を同一にしてピクチャタイプを揃える必要があったが、第二の実施の形態では、既述の条件のもとでは、ピクチャタイプが異なっていても、合体して復号処理が行え、例えば、ある動画の途中のPピクチャに対して、他の動画の先頭のIピクチャを合体させることもできる。
事前処理部15の動画間各ピクチャ合体部16は、各動画の符号化画像データを上述のようにスライスレベルで編成することにより、各動画を合体させつつ、当該符号化画像データをハードウェアデコーダ32に供給する。ここで、ハードウェアデコーダ32では、当該符号化画像データを受け取ると、1ピクチャが複数スライス(例では3スライス)で構成されたものとは認識する。しかし、これは規格(H.264)で定められた処理の範囲内であり、ハードウェアデコーダ32でそのまま復号処理を行うことができる。ただし、ハードウェアデコーダ32は当該符号化画像データが複数の動画を合体させたものであるということまでは認識しない。
これは、言い換えれば、ハードウェアデコーダ32については、何ら手を加える必要がないということを意味している。つまり、第二の実施の形態においても、ハードウェアデコーダ32について何ら手を加えることなく、複数の動画を合体、分離できるよう事前処理および事後処理を行っている。
第二の実施の形態においては、合体画像枠を用いて合成すべき動画の挿入や差し替え等を行い、かつ合体される動画は表示のタイミングに応じて選択される。したがって、合体画像枠内には動画の表示タイミングによっては未使用領域が生じ、その未使用領域を制御することも必要である。
この未使用領域や動画を一時停止するために用いるのが補完スライスであり、補完スライス生成部18が動画の表示タイミングに応じて必要な補完スライスを生成し、各動画合体情報生成部に供給している。なお、補完スライス生成部18で生成される補完スライスは、前のフレームをそのまま表示するものであり、直前のフレームを変更なく取得する時間方向予測で構成されるスライスである。
例えば、H.264規格においては、補完スライスは、全てのマクロブロック(MB)がスキップ(Skip)で構成されたPスライスとなる。ただし、合体処理の開始フレームについては、不足領域の補完スライスは、面内符号化(イントラ符号化)で構成される。例えばH.264規格では、IDRスライスとなる。また、合体処理の開始フレーム以外の不足領域の補完スライスは、面内符号化で構成されるものでもよい。例えばH.264規格では、スライスタイプがIピクチャ(以下、Iスライス)がこれに当たる。
図12に示した各動画の再生タイミングの例を元に、図13〜図16を用いて動画間各ピクチャ合体部16の具体的処理について説明する。なお、図13〜図16に関しては、SPS及びPPSを省略している。
まず、図13を参照して、動画B及び動画Fの合体処理について説明する。なお、動画間各ピクチャ合体部16では、動画Bと動画Fとを合体させて単一のビットストリームにして復号処理するという処理設計を前提としている。
この場合、動画間各ピクチャ合体部16による合体後のビットストリームは、少なくとも2つ以上のスライスで構成される。具体的に、図12に示す時刻t8においては、合体後のビットストリームは、図13(a)に示すように、動画FのIライスと補完スライス(IDRピクチャのスライス)とで構成される。すなわち、動画Bと動画Fとを合体して復号を行うが、時刻t8において表示される動画は動画Fのみであるため、動画FのIスライスと補完スライスとを用いて合体処理が行われる。ここで、本実施の形態においては、一つの補完スライスをビットストリームに挿入しているが、複数の補完スライスで構成しても良い。このように構成したビットストリームを復号した場合、時刻t8からt9までの合体画像枠内のピクチャ構成は、図13(b)に示すようになる。
次に、図12に示す時刻t9においては、合体後のビットストリームは、図13(c)に示すように、動画Fの任意ピクチャに係るスライスと動画BのIスライスとで構成される。当該任意のピクチャとは、Iスライスである必要はなく、スライスタイプがPピクチャ(以下、Pスライス)でもよいということである。また、時刻t9からt10までの合体画像枠内のピクチャ構成は、図13(d)に示すようになる。
次に、図12に示す時刻t10においては、動画Fの合体が解除されるので、動画Fのスライスに代えて補間スライスが挿入され、合体後のビットストリームは、図13(e)に示すように、補完スライスと動画Bのスライスとで構成される。この実施の形態では、一つの補完スライスを用いた例を挙げているが、複数の補完スライスで構成しても良い。また、時刻t10以降の合体画像枠内のピクチャ構成は、図13(f)に示すようになる。
次に、動画間各ピクチャ合体部112が合体すべき動画C、動画D、動画E、及び動画Gについて説明する。この場合、動画間各ピクチャ合体部112による合体後のビットストリームは、少なくとも2つ以上のスライスで構成される。
具体的に、図12の時刻t1においては、合体対象の動画C、D、E、Gのうち、表示される動画は動画Cのみなので、合体後のビットストリームは、図14(a)に示すように、動画CのIスライスと2つの補完スライスとで構成される。すなわち、設定された合体画像枠を埋めるよう補完スライスが挿入される。ここでは、同じ時刻に動画C、動画D、動画Eが合体されることが分かっているので、時刻t1において表示されない動画D、動画Eの部分は補間スライスが用いられている。なお、この実施の形態においても、動画毎にスライスを割り当てている例を挙げて説明しているが、動画D、動画Eの空き領域を設定するために1つの補完スライスを用いても良いし、また3以上の補完スライスを挿入しても良い。すなわち、ピクチャ構成で連続している領域には、1つの補完スライスを割り当てることができるので、2つの補完スライスを1つの補完スライスとしても良いし、2つの補完スライスをさらに分割して構成しても良い。このようなビットストリームを復号した時刻t1からt2までの合体画像枠内のピクチャ構成は、図14(b)に示すようになる。
次に、図12に示す時刻t2においては、動画Cの再生に加え、動画Dの再生が開始されるので、合体後のビットストリームは、図14(c)に示すように、動画Cの任意ピクチャに係るスライスと動画DのIスライスと1つ以上の補完スライスで構成される。また、時刻t2からt3までの合体画像枠内のピクチャ構成は、図14(d)に示すようになる。この場合も、上記と同様に、補完スライスを複数の補完スライスで構成しても良い。
次に、図12に示す時刻t3においては、動画C、動画Dの再生に加え、動画Eの再生が開始されるので、合体後のビットストリームは、図14(e)に示すように、動画Cの任意ピクチャに係るスライスと動画Dの任意ピクチャに係るスライスと動画EのIスライスで構成される。また、時刻t3からt4までの合体画像枠内のピクチャ構成は、図14(f)に示すようになる。なお、この例では、合体画像枠の垂直方向解像度を、合体させるべきすべての動画の垂直方向解像度の合計値に一致させているが、合体画像枠の垂直方向解像度を予め大きく規定していてもよい。
次に、図12の時刻t4においては、動画C、動画Eの再生が行われている際中に、動画Dの再生が一時停止されるので、合体後のビットストリームは、図15(a)に示すように、動画Cのスライスと動画Dの一時停止補完スライスと動画Eのスライスで構成される。ここで、補完スライス生成部18が生成した一時停止補完スライスとは、対象の動画と同じ解像度となる補完スライスである。したがって、時刻t4からt5までの合体画像枠内のピクチャ構成は、図15(b)に示すようになる。ここで、時刻t4からt5における動画Dについては、時刻t4での画像のリピートとなる。
次に、図12に示す時刻t5においては、動画Dの一時停止が解除され、再び動画C、動画D、動画Eの再生が行われるので、合体後のビットストリームは、図15(c)に示すように、動画Cのスライスと動画Dの再生再開画像のスライスと動画Eのスライスで構成される。また、時刻t5からt6までの合体画像枠内のピクチャ構成は、図15(d)に示すようになる。
次に、図12に示す時刻t6においては、動画Cの再生が終了するので、合体後のビットストリームは、同図(e)に示すように、補完スライスと動画Dのスライスと動画Eのスライスで構成される。また、時刻t6からt7までの合体画像枠内のピクチャ構成は、同図(f)に示すようになる。この場合も、上記と同様、複数の補完スライスとしても良い。
次に、図12に示す時刻t7においては、動画Eの再生が中断されて、代わりに動画Gが再生されるタイミングである。したがって、動画Eのスライスに代えて動画GのIスライスが挿入され、合体後のビットストリームは、図16(a)に示すように、補完スライスと動画Dの任意のピクチャに係るスライスと動画GのIスライスで構成される。また、時刻t7直後の合体画像枠内のピクチャ構成は、図16(b)に示すようになる。なお、動画Eと動画Gの垂直方向解像度は同一であるので、図16(b)に示した時刻t7直後の合体画像枠内のピクチャ構成において、動画Eの領域に動画Gをそのまま代わりに当て嵌めている。
しかし、時刻t7の時点で、垂直方向解像度がより大きい動画Cが割り当てられていた領域が空き領域として開放されているので、図16(b)’で示すように動画Cが割り当てられていた領域に動画Gを割り当てることもできる。このように動画Cが割り当てられていた領域に動画Gを割り当てる場合には、合体画像枠内における垂直方向の空き領域を調整するため動画Gと動画Dの間の空き領域に相当する補完スライスを挿入する。したがって、そのときの合体後のビットストリームは、図16(a)’に示すように、動画GのIスライスと、補完スライスと、動画Dの任意のピクチャに係るスライスと、補完スライスで構成される。
次に、事後処理部35における処理の具体例について図17を用いて説明する。上述のように、表示タイミングに応じて合体された符号化画像データは、逐次、ハードウェアデコーダ32において復号処理が行われ、復号後の画像データはビデオメモリ33に供給される。
一方、事後処理部35においては、命令解釈部36から描画制御部37に、合体画像枠の水平方向解像度に係る情報や、合体に係る各動画が合体画像枠の垂直方向のうちのどの領域を占めており、どの領域が未使用であるかを表す情報や、各画像の元画像のデータサイズに関する情報が逐次送られる。
描画制御部37に含まれる各動画分離部3121は、合体に係る各動画が垂直方向のうちのどの領域を占めており、どの領域が未使用であるかを表す情報に基づき、復号後の画像データを分離する。例えば、各動画分離部3121は、図17(a)に示す時刻t3からt4までの任意の時点においては、同図中央に示すように、動画C、動画D、及び動画Eに分離する。また、各動画分離部3121は、図17(b)に示す時刻t4からt5までの任意の時点においては、同図中央に示すように、動画C、動画Dのt4時点の画像のリピート、及び動画Eに分離する。更に、各動画分離部3121は、図17(c)に示す時刻t6からt7までの任意の時点においては、同図中央に示すように、動画D及び動画Eに分離する。
次に、描画制御部312に含まれる元画像切出し部3122は、合体画像枠の水平方向解像度に係る情報や、上位CPU1から供給された各動画の元画像のデータサイズに基づいて、フレームごとに<符号化処理(ステップS2)>のときに補填された補填データを削除し、図17(a)、(b)、(c)のそれぞれ右側に記載したように元の動画が再構築される。なお、図17においては、3つの時間区分の例しか挙げていないが、他の時間区分も当業者であれば容易に理解できるであろう。そして、このようにフレームごとに元画像が再現された各動画のデータは、逐次、表示部4にて再生されていく。
以上のように、本発明の画像データ処理方法における第二の実施の形態によれば、垂直方向に解像度が小さい各動画については、合体させて一括で復号処理をしているので、垂直方向に複数のデコーダコアにより並列処理を行っているような場合でも、その機能を享受することができる。
また、複数の動画を合体させ、復号するストリーム数を減らした分だけ、デコーダの初期化等の付随処理が減ることとなり、処理時間は格段に短くなる。
また、第二の実施の形態によれば、各動画を構成するスライスを抽出し、複数のスライスとして纏めて一つの符号化画像データを生成し、各動画を合体させているので、ハードウェアデコーダ32の構成や機能を何ら変更する必要はない。更に、復号タイミングと復号画出力タイミングがずれないようにするため、合体に係る各動画において、参照バッファの管理が同一となるよう符号化しているので、スライスレベルで合体させる際のピクチャタイプを合せる必要がなくなり、各動画の表示タイミングに応じた合体が可能になる。
<本実施形態の態様例の作用、効果のまとめ>
<第一態様>
本発明の画像データ処理方法は、動画に係る符号化画像データを出力すると共に、その動画の再生に係る指令を発行する上位CPUと、ハードウェアデコーダを有し、入力される前記指令に基づき、前記動画に係る符号化画像データを復号する画像処理プロセッサと、前記画像処理プロセッサにより復号された画像データに基づいて前記動画が再生される表示部と、を備えた画像処理装置を使用した画像データ処理方法であって、指令に基づき表示部に複数の動画が再生される場合に、上位CPUは、各動画を、各ピクチャ符号化画像データであるスライスのレベルで合体させて、複数スライスの1ピクチャと見立てて一括して符号化画像データを構成して前記画像処理プロセッサに供給し、ハードウェアデコーダは、その一括化された符号化画像データを復号する。
これにより、解像度が小さい複数の動画を再生する際、上位CPUでは各動画をスライスレベルで合体させ、複数スライスの1ピクチャとした符号化画像データを生成し、ハードウェアデコーダでは複数の動画が合体された複数スライスの1ピクチャを復号するので、動画再生毎に必要なハードウェアデコーダの初期化等の処理を不要とし、復号処理速度を向上することができる。
<第二態様>
本発明の画像データ処理方法は、ハードウェアデコーダが一括して復号した画像データから各動画を分離するよう上位CPUが画像処理プロセッサに要求し、分離された各動画が前記表示部に再生される。したがって、同じ復号処理で複数の動画を再生することができ、動画再生毎に必要なハードウェアデコーダの初期化等の処理を不要とし、復号処理速度を向上することができる。
<第三態様>
また、上位CPUが合体させる動画の元画像サイズ情報を各動画データから抽出し、該元画像サイズ情報を画像処理プロセッサに供給し、画像処理プロセッサは一括して復号した画像データから元画像サイズ情報に基づいて各動画を分離する。これにより、垂直方向に解像度が小さい動画を多く再生する場合でも、動画再生毎に必要なハードウェアデコーダの初期化等の処理を不要とし、並列処理機能を有するハードウェアデコーダを用いた場合には並列処理機能の利点を享受できる。
<第四態様>
また、上位CPUが読み出す合体に係る各動画については、参照バッファの管理が同一となるよう符号化した符号化画像データを使用する。これにより、合体に係る各動画の各スライスのピクチャタイプを一致させる必要はないので、動画の再生タイミングに関する制限が少なくなる。
<第五態様>
また、復号タイミングと復号画出力タイミングがずれない符号化画像データを用い、各動画を表示部に表示させるべきタイミングに応じて、スライスのレベルで合体させので、動画の再生タイミングに関する制限が少なくなると共に、復号後の画像データを格納しておくデータバッファが不要となる。
<第六態様>
また、上位CPUは、各動画を表示部に表示させるべきタイミングに応じて、スライスのレベルで合体させる際に、表示に係る時間帯以外は補完スライスを充当し、当該補完スライスを含めた複数スライスの1ピクチャと見立てて一括して符号化画像データを構成することもできる。これにより、合体画像枠内に収まる動画の再生数が変更されても補完スライスを充当することで復号処理を変更せずに動画を再生できる。したがって、ハードウェアデコーダの初期化等の処理を不要とし、復号処理速度を向上することができる。
<第七態様>
また、上位CPUは、各動画を表示部に表示させるべきタイミングに応じて、スライスのレベルで合体させる際に、表示が終了した動画については当該動画のスライスが配置されていた個所に補完スライスを充当する。これにより、合体画像枠内に収まる動画の再生数が変更されても補完スライスを充当することで復号処理を変更せずに動画を再生できる。したがって、ハードウェアデコーダの初期化等の処理を不要とし、復号処理速度を向上することができる。
<第八態様>
また、上位CPUは、各動画を表示部に表示させるべきタイミングに応じて、スライスのレベルで合体させる際に、表示途中で一時停止させる動画については、当該一時停止させる期間について、直前のフレームを変更なく取得する時間方向予測で構成されるスライスを繰り返し充当する。これにより、符号化画像データの形式を変えず、一つの復号処理として継続して行うので、復号処理に必要な初期化等の手続きを少なくし、復号処理速度を向上することができる。
<第九態様>
また、上位CPUは、各動画を表示部に表示させるべきタイミングに応じて、スライスのレベルで合体させる際に、新たに表示される動画については、補完スライスを終了し、当該新たに表示される動画に係る先頭スライスを充当する。これにより、一つの復号処理を継続して行い、復号処理に必要な初期化等の手続きを少なくすることができる。
<第十態様>
さらに、上位CPUは、所定の解像度に係る合体画像枠を規定し、各動画を表示部に表示させるべきタイミングに応じて、スライスのレベルで合体させる際に、各動画が合体画像枠の垂直方向のどの位置を占めるのかに関する情報を指令に含める。これにより、合体画像枠内の動画の必要な個所を適切に切出すことができる。
<第十一態様>
本発明の画像データ処理方法は、動画に係る符号化画像データのうち、合体に係る各動画については、同一GOP間隔かつピクチャタイプを揃えて符号化した符号化画像データを使用する。これにより各動画の符号化画像データをスライスのレベルで合体させることができる。
<第十二態様>
また、動画に係る符号化画像データのうち、合体に係る各動画は、水平方向にデータを補填することにより、水平解像度を揃えて符号化しておく。これにより、複数の動画を合体させた符号化画像データを単一のデコーダで復号することができる。
<第十三態様>
また、動画に係る符号化画像データのうち、合体に係る各動画は、その垂直解像度が、所定値以下である。これにより、複数の動画を合体させた符号化画像データを単一のデコーダで復号することができる。
<第十四態様>
更に、合体に係る各動画の各垂直解像度の総和は、ハードウェアデコーダの垂直方向処理容量を越えないようにする。これにより、複数の動画を合体させた符号化画像データを単一のデコーダで復号することができる。
<第十五態様>
また、動画に係る符号化画像データのうち、合体に係る各動画は、垂直方向にデータを補填することにより、垂直解像度を揃えて符号化しておく。これにより、合体させる動画の差し替えが容易となる。
<第十六態様>
更に、水平解像度に複数の基準値を設け、それらのうちの一の基準値に合わせることにより、水平解像度を揃える。これにより、合体させる動画の選別基準が明確となり、容易に演出設計時に合体に係る画像を選択することができる。
<第十七態様>
本発明の画像データ処理方法では、ビットストリームのSEIもしくはMP4等のコンテナに格納した符号化画像データを使用する。これにより、上位CPUが各動画を読み出す際に元画像サイズ情報を抽出し、それを画像処理プロセッサに供給でき、画像処理プロセッサでは補填処理された復号データから補填データを削除し、所望の領域の画像を抽出することができる。
<第十八態様>
また、画像処理プロセッサは、表示部に各動画を再生させる際に、各動画の各々のフレーム単位の所望の表示タイミングを担保するために、ハードウェアデコーダから得られた復号された画像データを画像データ格納部に蓄積しておく。これにより、動画再生タイミング情報に基づいて、所望のタイミングで動画を再生することができる。
上記のいずれの態様においても、垂直方向に解像度が小さい動画を多く再生する場合であっても、ハードウェアデコーダの初期化等の処理を不要とし、高速に複数の動画を再生することができ、さらに、並列処理機能を有するハードウェアデコーダを用いた場合には並列処理機能の利点を享受できる。
上記のいずれの態様においても各動画のピクチャ単位でそれらのスライスを複数のスライスとして纏めるというやり方で、各動画を合体させているので、ハードウェアデコーダ自体の構成や機能を何ら変更することなく、復号処理速度を向上することができる。
本発明の画像データ処理方法は、例えば、パチンコ機等の遊技機に採用できる。
1 上位CPU
11、15 事前処理部
111 各動画再生タイミング情報生成部
16、112 動画間各ピクチャ合体部
17 各動画合体情報生成部
18 補完スライス生成部
2 画像データROM
3 画像処理プロセッサ
31、35 事後処理部
36、311 命令解釈部
37、312 描画制御部
3121 各動画分離部
3122 元画像切出し部
3123 各動画表示タイミング制御部
32 ハードウェアデコーダ
33 ビデオメモリ
4 表示部
100 上位CPU
200 画像データROM
300 画像処理プロセッサ
400 表示部

Claims (18)

  1. 動画に係る符号化画像データを出力すると共に、その動画の再生に係る指令を発行する上位CPUと、
    ハードウェアデコーダを有し、入力される前記指令に基づき、前記動画に係る符号化画像データを復号する画像処理プロセッサと、
    前記画像処理プロセッサにより復号された画像データに基づいて前記動画が再生される表示部と、
    を備えた画像処理装置を使用した画像データ処理方法であって、
    前記指令に基づき前記表示部に複数の動画が再生される場合に、前記上位CPUは、各動画を符号化画像データであるスライスのレベルで合体させて、複数スライスの1ピクチャと見立てて一括して符号化画像データを構成して前記画像処理プロセッサに供給し、前記ハードウェアデコーダは、その一括化された符号化画像データを復号することを特徴とする画像データ処理方法。
  2. 前記上位CPUは、前記ハードウェアデコーダが一括して復号した画像データから各動画を分離するよう前記画像処理プロセッサに要求し、分離された各動画が前記表示部に再生されることを特徴とする請求項1に記載の画像データ処理方法。
  3. 前記上位CPUは、合体させる動画の元画像サイズ情報を各動画データから抽出し、該元画像サイズ情報を画像処理プロセッサに供給し、
    前記画像処理プロセッサは一括して復号した画像データから前記元画像サイズ情報に基づいて各動画を分離したことを特徴とする請求項2に記載の画像データ処理方法。
  4. 前記合体に係る各動画については、参照バッファの管理が同一となるよう符号化した符号化画像データを使用したことを特徴とする請求項1に記載の画像データ処理方法。
  5. 前記上位CPUは、各動画を前記表示部に表示させるべきタイミングに応じて、前記スライスのレベルで合体させることを特徴とする請求項1に記載の画像データ処理方法。
  6. 前記上位CPUは、各動画をスライスのレベルで合体させる際に、表示に係る時間帯以外は補完スライスを充当し、当該補完スライスを含めた複数スライスの1ピクチャと見立てて一括して符号化画像データを構成したことを特徴とする請求項5に記載の画像データ処理方法。
  7. 前記上位CPUは、各動画スライスのレベルで合体させる際に、表示が終了した動画についても、以降、前記補完スライスを充当することを特徴とする請求項6に記載の画像データ処理方法。
  8. 前記上位CPUは、各動画をスライスのレベルで合体させる際に、表示途中で一時停止させる動画については、当該一時停止させる期間について、直前のフレームを変更なく取得する時間方向予測で構成されるスライスを繰り返し充当することを特徴とする請求項5に記載の画像データ処理方法。
  9. 前記上位CPUは、各動画をスライスのレベルで合体させる際に、新たに表示される動画については、前記補完スライスを終了し、当該新たに表示される動画に係る先頭スライスを充当することを特徴とする請求項6に記載の画像データ処理方法。
  10. 前記上位CPUは、所定の解像度に係る合体画像枠を規定し、各動画が前記合体画像枠の垂直方向のどの位置を占めるかの情報を前記画像処理プロセッサに供給したことを特徴とする請求項5に記載の画像データ処理方法。
  11. 前記動画に係る符号化画像データのうち、前記合体に係る各動画については、同一GOP間隔かつピクチャタイプを揃えて符号化した符号化画像データを使用したことを特徴とする請求項1記載の画像データ処理方法。
  12. 前記動画に係る符号化画像データのうち、前記合体に係る各動画は、水平方向にデータを補填することにより、水平解像度を揃えて符号化しておくことを特徴とする請求項4または11に記載の画像データ処理方法。
  13. 前記動画に係る符号化画像データのうち、前記合体に係る各動画は、その垂直解像度が、所定値以下であることを特徴とする請求項4または11に記載の画像データ処理方法。
  14. 前記合体に係る各動画の各垂直解像度の総和は、前記ハードウェアデコーダの垂直方向処理容量を越えないことを特徴とする請求項13に記載の画像データ処理方法。
  15. 前記動画に係る符号化画像データのうち、前記合体に係る各動画は、垂直方向にデータを補填することにより、垂直解像度を揃えて符号化しておくことを特徴とする請求項13に記載の画像データ処理方法。
  16. 前記水平解像度に複数の基準値を設け、それらのうちの一の基準値に合わせることにより、前記水平解像度を揃えることを特徴とする請求項12に記載の画像データ処理方法。
  17. 各動画の元画像のサイズの情報は、SEIもしくはMP4等のNALコンテナに格納した符号化画像データを使用したことを特徴とする請求項4または11記載の画像データ処理方法。
  18. 前記画像処理プロセッサは、前記表示部に各動画を再生させる際に、各動画の各々のフレーム単位の所望の表示タイミングを担保するために、前記ハードウェアデコーダから得られた復号された画像データを画像データ格納部に蓄積しておくことを特徴とする請求項1記載の画像データ処理方法。
JP2017226709A 2016-12-09 2017-11-27 画像データ処理方法 Active JP6732337B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP20202868.4A EP3790274A1 (en) 2016-12-09 2017-12-01 Image data processing device
PCT/JP2017/043285 WO2018105515A1 (ja) 2016-12-09 2017-12-01 画像データ処理方法
EP17879606.6A EP3537718A4 (en) 2016-12-09 2017-12-01 IMAGE DATA PROCESSING METHOD
US16/467,541 US10944980B2 (en) 2016-12-09 2017-12-01 Image data processing method
US16/934,605 US11336911B2 (en) 2016-12-09 2020-07-21 Image data processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016239477 2016-12-09
JP2016239477 2016-12-09

Publications (2)

Publication Number Publication Date
JP2018098784A true JP2018098784A (ja) 2018-06-21
JP6732337B2 JP6732337B2 (ja) 2020-07-29

Family

ID=62634810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017226709A Active JP6732337B2 (ja) 2016-12-09 2017-11-27 画像データ処理方法

Country Status (3)

Country Link
US (1) US10944980B2 (ja)
EP (2) EP3537718A4 (ja)
JP (1) JP6732337B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111479165B (zh) * 2019-01-23 2021-08-06 上海哔哩哔哩科技有限公司 软硬件解码分辨率无缝切换方法、装置及存储介质
CN114175654A (zh) * 2019-08-08 2022-03-11 鸿颖创新有限公司 用于对视频数据编码的设备和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035936A1 (en) * 2007-09-10 2009-03-19 Cisco Technology, Inc. Video compositing of an arbitrary number of source streams using flexible macroblock ordering
WO2012060459A1 (ja) * 2010-11-01 2012-05-10 日本電気株式会社 動画像配信システム、動画像配信方法および動画像配信用プログラム
WO2015058719A1 (en) * 2013-10-25 2015-04-30 Mediatek Inc. Method and apparatus for processing picture having picture height not evenly divisible by slice height and/or slice width not evenly divisible by pixel group width
WO2015168150A1 (en) * 2014-05-01 2015-11-05 Google Inc. Method and system to combine multiple encoded videos for decoding via a video decoder
JP2017225096A (ja) * 2016-06-17 2017-12-21 株式会社アクセル 画像データ処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2397645C (en) 2000-01-28 2005-08-16 Vincent Dureau Interactive television system and method for simultaneous transmission and rendering of multiple encoded video streams
CN1245839C (zh) * 2001-07-04 2006-03-15 矽统科技股份有限公司 分散式视频数据流解码方法
US20080165277A1 (en) * 2007-01-10 2008-07-10 Loubachevskaia Natalya Y Systems and Methods for Deinterlacing Video Data
JP5979405B2 (ja) 2011-03-11 2016-08-24 ソニー株式会社 画像処理装置および方法
JP2014192564A (ja) * 2013-03-26 2014-10-06 Sony Corp 映像処理装置、映像処理方法及びコンピュータプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035936A1 (en) * 2007-09-10 2009-03-19 Cisco Technology, Inc. Video compositing of an arbitrary number of source streams using flexible macroblock ordering
WO2012060459A1 (ja) * 2010-11-01 2012-05-10 日本電気株式会社 動画像配信システム、動画像配信方法および動画像配信用プログラム
WO2015058719A1 (en) * 2013-10-25 2015-04-30 Mediatek Inc. Method and apparatus for processing picture having picture height not evenly divisible by slice height and/or slice width not evenly divisible by pixel group width
WO2015168150A1 (en) * 2014-05-01 2015-11-05 Google Inc. Method and system to combine multiple encoded videos for decoding via a video decoder
JP2017225096A (ja) * 2016-06-17 2017-12-21 株式会社アクセル 画像データ処理方法

Also Published As

Publication number Publication date
EP3537718A1 (en) 2019-09-11
EP3537718A4 (en) 2020-04-15
JP6732337B2 (ja) 2020-07-29
EP3790274A1 (en) 2021-03-10
US20190327480A1 (en) 2019-10-24
US10944980B2 (en) 2021-03-09

Similar Documents

Publication Publication Date Title
US11115670B2 (en) Image encoding apparatus, image encoding method, recording medium and program, image decoding apparatus, image decoding method, and recording medium and program
KR102424829B1 (ko) 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
US9288497B2 (en) Advanced video coding to multiview video coding transcoder
US10743039B2 (en) Systems and methods for interleaving video streams on a client device
CN102947866B (zh) 图像处理装置、内容生成辅助装置、图像处理方法、内容生成辅助方法
GB2530751A (en) Video data encoding and decoding
Zare et al. 6K effective resolution with 4K HEVC decoding capability for OMAF-compliant 360 video streaming
JP6387511B2 (ja) 画像データ処理方法
CN112789865A (zh) 信息处理装置和信息处理方法
JP6732337B2 (ja) 画像データ処理方法
US10448034B2 (en) Video image encoding device, video image coding method, video image decoding device, video image decoding method, and non-transitory computer-readable storage medium
Jeong et al. DWS-BEAM: Decoder-wise subpicture bitstream extracting and merging for MPEG immersive video
WO2018105515A1 (ja) 画像データ処理方法
US20240171755A1 (en) Picture Tile Attributes Signaled Per-Tile
KR102489102B1 (ko) 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
TW202101998A (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
KR20220113501A (ko) 몰입형 미디어 프로세싱의 순위 정보

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200413

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200703

R150 Certificate of patent or registration of utility model

Ref document number: 6732337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250