JP5484276B2 - Data compression apparatus, data decoding apparatus, data compression method, data decoding method, and data structure of compressed video file - Google Patents

Data compression apparatus, data decoding apparatus, data compression method, data decoding method, and data structure of compressed video file Download PDF

Info

Publication number
JP5484276B2
JP5484276B2 JP2010204806A JP2010204806A JP5484276B2 JP 5484276 B2 JP5484276 B2 JP 5484276B2 JP 2010204806 A JP2010204806 A JP 2010204806A JP 2010204806 A JP2010204806 A JP 2010204806A JP 5484276 B2 JP5484276 B2 JP 5484276B2
Authority
JP
Japan
Prior art keywords
data
image
unit
values
palette
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.)
Active
Application number
JP2010204806A
Other languages
Japanese (ja)
Other versions
JP2012060612A (en
Inventor
徹悟 稲田
章男 大場
博之 勢川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
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
Priority to JP2010204806A priority Critical patent/JP5484276B2/en
Application filed by Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to EP18150093.5A priority patent/EP3334161B1/en
Priority to EP11824711.3A priority patent/EP2618565A4/en
Priority to CN201180043291.7A priority patent/CN103098466B/en
Priority to PCT/JP2011/003871 priority patent/WO2012035691A1/en
Publication of JP2012060612A publication Critical patent/JP2012060612A/en
Priority to US13/782,185 priority patent/US9218640B2/en
Application granted granted Critical
Publication of JP5484276B2 publication Critical patent/JP5484276B2/en
Priority to US14/940,527 priority patent/US9607357B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動画像などの3次元データを符号化、復号化する情報処理装置および情報処理方法に関する。   The present invention relates to an information processing apparatus and information processing method for encoding and decoding three-dimensional data such as moving images.

ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。   Home entertainment systems have been proposed that not only execute game programs, but also play video. In this home entertainment system, the GPU generates a three-dimensional image using polygons (see, for example, Patent Document 1).

動画、静止画に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。そのため画像データの圧縮技術、伝送技術、画像処理技術、表示技術など多方面で様々な技術が開発、実用化され、高精細な画像を多様な場面で身近に楽しめるようになってきた。   Regardless of moving images or still images, how to display images efficiently is always an important issue. For this reason, various technologies such as image data compression technology, transmission technology, image processing technology, and display technology have been developed and put into practical use, and high-definition images can be enjoyed in various situations.

米国特許第6563999号公報US Pat. No. 6,563,999

高精細な画像をユーザの要求に従い応答性よく表示させたい、という要求は常に存在する。例えば表示させた全体画像のうちユーザが着目したい領域を拡大して表示させたり別の領域に移動したり、といった、ユーザの視点に対し自由度のある画像表示を応答性よく実現するためには、サイズの大きな画像データを短時間で処理しつつランダムアクセスをも可能にしなければならず、さらなる技術の進歩が求められている。   There is always a demand to display a high-definition image with high responsiveness according to a user's request. For example, in order to realize an image display with a high degree of freedom with respect to the user's viewpoint, such as enlarging and displaying a region that the user wants to focus on or displaying another region of the displayed whole image. Therefore, it is necessary to enable random access while processing large-size image data in a short time, and further technical progress is required.

本発明はこのような課題に鑑みてなされたものであり、その目的は様々な要求に対し応答性よく動画像などの3次元データを出力することのできる情報処理技術を提供することにある。   The present invention has been made in view of such problems, and an object thereof is to provide an information processing technique capable of outputting three-dimensional data such as a moving image with high responsiveness to various requests.

本発明のある態様はデータ圧縮装置に関する。このデータ圧縮装置は、圧縮対象の、3次元空間におけるデータ列を当該3次元方向に分割して符号化単位を形成するデータ分割部と、データ分割部が形成した符号化単位ごとに、データのうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を生成して圧縮データとする圧縮符号化部と、を備えたことを特徴とする。   One embodiment of the present invention relates to a data compression apparatus. This data compression apparatus divides a data string in a three-dimensional space to be compressed in the three-dimensional direction to form a coding unit, and for each coding unit formed by the data dividing unit, Among them, a palette that holds two values as representative values and information that specifies any one of a plurality of intermediate values and representative values determined by linear interpolation of the representative values are held instead of the original data of the coding unit. And a compression encoding unit that generates an index and generates compressed data.

本発明の別の態様はデータ復号装置に関する。この動画データ復号装置は、3次元空間におけるデータ列を、当該3次元方向に分割して形成した符号化単位ごとに、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を対応づけた圧縮データを記憶装置から読み出す圧縮データ読み出し部と、パレットが保持する代表値を線形補間して中間値を生成し、インデックスが保持する情報に従い、各符号化単位に含まれるデータを代表値および中間値のいずれかに決定したうえ、符号化単位の配列に基づき、元のデータ列を再構成して生成する復号部と、を備えたことを特徴とする。   Another aspect of the present invention relates to a data decoding apparatus. This moving image data decoding apparatus includes, for each encoding unit formed by dividing a data string in a three-dimensional space in the three-dimensional direction, a palette that holds two of the pixel values as a representative value, and the representative value. Compressed data that reads from the storage device compressed data that associates information that specifies any one of a plurality of intermediate values and representative values determined by linear interpolation, instead of the original data of the encoding unit. The reading unit and the intermediate value are generated by linearly interpolating the representative value held by the palette, and according to the information held by the index, the data included in each coding unit is determined as either the representative value or the intermediate value, And a decoding unit that reconstructs and generates an original data sequence based on an array of encoding units.

本発明のさらに別の態様はデータ圧縮方法に関する。このデータ圧縮方法は、圧縮対象の、3次元空間におけるデータ列を記憶装置より読み出すステップと、データ列を3次元方向に分割して符号化単位を形成するステップと、符号化単位ごとに、データのうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を生成して圧縮データとして記憶装置に格納するステップと、を含むことを特徴とする。   Yet another embodiment of the present invention relates to a data compression method. This data compression method includes a step of reading a data string in a three-dimensional space to be compressed from a storage device, a step of dividing the data string in a three-dimensional direction to form an encoding unit, and a data unit for each encoding unit. A palette that holds two values as representative values, and information that specifies any of a plurality of intermediate values and representative values determined by linear interpolation of the representative values, instead of the original data of the coding unit Generating an index to be stored in a storage device as compressed data.

本発明のさらに別の態様はデータ復号方法に関する。このデータ復号方法は、3次元空間におけるデータ列を、当該3次元方向に分割して形成した符号化単位ごとに、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を対応づけた圧縮データを記憶装置から読み出すステップと、パレットが保持する代表値を線形補間して中間値を生成し、インデックスが保持する情報に従い、各符号化単位に含まれるデータを代表値および中間値のいずれかに決定したうえ、符号化単位の配列に基づき、元のデータ列を再構成して生成するステップと、生成したデータ列を出力装置に出力するステップと、を含むことを特徴とする。   Yet another embodiment of the present invention relates to a data decoding method. In this data decoding method, for each encoding unit formed by dividing a data string in a three-dimensional space in the three-dimensional direction, a palette that holds two of the pixel values as a representative value, and the representative value is linear A step of reading from the storage device compressed data in which information specifying any one of a plurality of intermediate values and representative values determined by interpolation is held instead of the original data of the encoding unit; and An intermediate value is generated by linearly interpolating the representative value held in the palette, and the data included in each coding unit is determined as one of the representative value and the intermediate value according to the information held in the index. The method includes a step of reconstructing and generating an original data sequence based on the arrangement, and a step of outputting the generated data sequence to an output device.

本発明のさらに別の態様は圧縮動画像ファイルのデータ構造に関する。このデータ構造は、動画を構成する画像フレーム列に対応し、輝度Yを画素値とするY画像列、色差Cbを画素値とするCb画像列、色差Crを画素値とするCr画像列を、それぞれ時空間分割して形成した符号化単位ごとに生成された、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および代表値のいずれかを指定する情報を画素ごとに保持するインデックスと、を対応づけて画像フレームの画像領域に対応させて配列したことを特徴とする。   Still another embodiment of the present invention relates to a data structure of a compressed moving image file. This data structure corresponds to an image frame sequence constituting a moving image, a Y image sequence having a luminance Y as a pixel value, a Cb image sequence having a color difference Cb as a pixel value, and a Cr image sequence having a color difference Cr as a pixel value. A palette that holds two of the pixel values as representative values generated for each encoding unit formed by space-time division, and any of a plurality of intermediate values and representative values determined by linear interpolation of the representative values An index for holding information for designating each pixel is associated with an image area of an image frame, and is arranged in association with the image area.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a representation of the present invention converted between a method, an apparatus, a system, a computer program, etc. are also effective as an aspect of the present invention.

本発明によると、ランダムアクセスが可能でスループットの高い3次元データ出力を行える。   According to the present invention, it is possible to output 3D data with high throughput and random access.

本実施の形態に適用できる画像処理システムの使用環境を示す図である。It is a figure which shows the use environment of the image processing system which can be applied to this Embodiment. 図1の画像処理システムに適用できる入力装置の外観構成例を示す図である。It is a figure which shows the example of an external appearance structure of the input device applicable to the image processing system of FIG. 本実施の形態において処理対象とする動画像の階層データを概念的に示す図である。It is a figure which shows notionally the hierarchy data of the moving image made into a process target in this Embodiment. 本実施の形態における画像処理装置の構成を示す図である。It is a figure which shows the structure of the image processing apparatus in this Embodiment. 本実施の形態において、階層構造を有する動画データを用いて動画を表示する機能を有する制御部の構成を詳細に示す図である。In this Embodiment, it is a figure which shows the structure of the control part which has a function which displays a moving image using the moving image data which has a hierarchical structure in detail. 本実施の形態において処理対象となる動画データの構造例を示す図である。It is a figure which shows the structural example of the moving image data used as the process target in this Embodiment. 本実施の形態において処理対象となる動画データの構造例を示す図である。It is a figure which shows the structural example of the moving image data used as the process target in this Embodiment. 本実施の形態において処理対象となる動画データの構造例を示す図である。It is a figure which shows the structural example of the moving image data used as the process target in this Embodiment. 本実施の形態において処理対象となる動画データの構造例を示す図である。It is a figure which shows the structural example of the moving image data used as the process target in this Embodiment. 本実施の形態において一部の階層の動画ストリームを別の階層の動画ストリームで代替させる場合の動画のデータ構造を模式的に示す図である。It is a figure which shows typically the data structure of the moving image in the case of substituting the moving image stream of a part hierarchy with the moving image stream of another hierarchy in this Embodiment. 本実施の形態において、動画データ圧縮機能を有する制御部およびハードディスクドライブの構成を詳細に示す図である。In this Embodiment, it is a figure which shows the structure of the control part and hard disk drive which have a moving image data compression function in detail. 図11で示した制御部を含む画像処理装置が実施する動画ストリームの圧縮手順を模式的に示す図である。It is a figure which shows typically the compression procedure of the moving image stream which the image processing apparatus containing the control part shown in FIG. 11 implements. 本実施の形態においてY画像列の符号化単位からパレットおよびインデックスのデータを生成する手法を模式的に示す図である。It is a figure which shows typically the method of producing | generating the data of a palette and an index from the encoding unit of a Y image sequence in this Embodiment. 本実施の形態においてCbCr画像列の符号化単位からパレットおよびインデックスのデータを生成する手法を模式的に示す図である。It is a figure which shows typically the method of producing | generating the data of a palette and an index from the encoding unit of a CbCr image sequence in this Embodiment. 本実施の形態において1つの処理単位を分割するパターンのバリエーションを示す図である。It is a figure which shows the variation of the pattern which divides | segments one process unit in this Embodiment. 本実施の形態における分割パターンマップのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the division | segmentation pattern map in this Embodiment. 本実施の形態の圧縮データ記憶部における圧縮データの配列を説明するための図である。It is a figure for demonstrating the arrangement | sequence of the compressed data in the compressed data storage part of this Embodiment. 本実施の形態において圧縮符号化処理を動画ストリーム全体に施したときのデータの変遷を模式的に示す図である。It is a figure which shows typically the transition of data when a compression encoding process is performed to the whole moving image stream in this Embodiment. 本実施の形態において2つのパレットに分割パターンの識別番号を埋め込む手法を説明するための図である。It is a figure for demonstrating the method of embedding the identification number of a division | segmentation pattern in two pallets in this Embodiment.

本実施の形態では動画像表示において、ユーザの視点移動要求に対応した表示領域の移動を可能にする。ここでの視点移動は、画像平面へ視点を近づけたり離したりすることを含み、それに応じて動画像は、再生されつつ拡大および縮小されることになる。そこで本実施の形態では処理対象の動画像データを、1つの動画像を異なる解像度で表した画像フレーム列からそれぞれ構成される複数の動画像ストリームを解像度順に階層化してなる階層構造とする。そして視点の遠近方向の移動要求に対し、表示に使用する動画ストリームを異なる階層へ切り替えることで、拡大表示や縮小表示を迅速に行う。以後、このような階層構造を有する動画像データを「階層データ」とも呼ぶ。   In the present embodiment, it is possible to move the display area corresponding to the user's viewpoint movement request in moving image display. The viewpoint movement here includes moving the viewpoint closer to or away from the image plane, and the moving image is enlarged and reduced while being reproduced accordingly. Therefore, in the present embodiment, the processing target moving image data has a hierarchical structure in which a plurality of moving image streams each composed of an image frame sequence representing one moving image at different resolutions are hierarchized in the order of resolution. In response to a request for moving the viewpoint in the near and near direction, the moving image stream used for display is switched to a different layer, so that enlarged display and reduced display are quickly performed. Hereinafter, moving image data having such a hierarchical structure is also referred to as “hierarchical data”.

まず、このような階層データの基本的な表示態様について説明する。図1は、本実施の形態を適用できる画像処理システム1の使用環境を示す。画像処理システム1は、画像処理ソフトウェアを実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。   First, a basic display mode of such hierarchical data will be described. FIG. 1 shows a use environment of an image processing system 1 to which this embodiment can be applied. The image processing system 1 includes an image processing device 10 that executes image processing software, and a display device 12 that outputs a processing result by the image processing device 10. The display device 12 may be a television having a display that outputs an image and a speaker that outputs sound.

表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。画像処理システム1において、画像処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、階層データをダウンロードして取得してもよい。なお画像処理装置10は、無線通信により外部ネットワークに接続してもよい。   The display device 12 may be connected to the image processing device 10 by a wired cable, or may be wirelessly connected by a wireless local area network (LAN) or the like. In the image processing system 1, the image processing apparatus 10 may be connected to an external network such as the Internet via the cable 14 to download and acquire hierarchical data. The image processing apparatus 10 may be connected to an external network by wireless communication.

画像処理装置10は、たとえばゲーム装置やパーソナルコンピュータであってよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。画像処理装置10は、ユーザからの視点移動要求に応じて、表示装置12のディスプレイに表示する動画像の拡大/縮小処理や、上下左右方向へのスクロール処理などを行う。以後、このような拡大/縮小を含めた表示領域の変更処理を「表示領域の移動」と表現する。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作すると、入力装置が、表示領域移動要求信号を画像処理装置10に送信する。   The image processing device 10 may be, for example, a game device or a personal computer, and may implement an image processing function by loading an image processing application program. The image processing apparatus 10 performs enlargement / reduction processing of a moving image displayed on the display of the display device 12, scroll processing in the vertical and horizontal directions, and the like in response to a viewpoint movement request from the user. Hereinafter, the display area changing process including such enlargement / reduction is expressed as “movement of the display area”. When the user operates the input device while viewing the image displayed on the display, the input device transmits a display area movement request signal to the image processing device 10.

図2は、入力装置20の外観構成例を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。   FIG. 2 shows an external configuration example of the input device 20. The input device 20 includes a cross key 21, analog sticks 27a and 27b, and four types of operation buttons 26 as operation means that can be operated by the user. The four types of operation buttons 26 include a circle button 22, a x button 23, a square button 24, and a triangle button 25.

画像処理システム1において、入力装置20の操作手段には、表示画像の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。   In the image processing system 1, a function for inputting a display image enlargement / reduction request and a vertical / left / right scroll request is assigned to the operation unit of the input device 20. For example, the input function of the display image enlargement / reduction request is assigned to the right analog stick 27b. The user can input a display image reduction request by pulling the analog stick 27b forward, and can input a display image enlargement request by pressing the analog stick 27b from the front.

また、スクロール要求の入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向へのスクロール要求を入力できる。なお、表示領域移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。   The scroll request input function is assigned to the cross key 21. The user can input a scroll request in the direction in which the cross key 21 is pressed by pressing the cross key 21. Note that the display area movement request input function may be assigned to another operation means. For example, the scroll request input function may be assigned to the analog stick 27a.

入力装置20は、入力された表示領域移動要求の信号を画像処理装置10に伝送する機能をもち、本実施の形態では画像処理装置10との間で無線通信可能に構成される。入力装置20と画像処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、画像処理装置10とケーブルを介して接続して、表示領域移動要求の信号を画像処理装置10に伝送してもよい。   The input device 20 has a function of transmitting an input display area movement request signal to the image processing device 10 and is configured to be capable of wireless communication with the image processing device 10 in the present embodiment. The input device 20 and the image processing device 10 may establish a wireless connection using a Bluetooth (registered trademark) protocol, an IEEE802.11 protocol, or the like. The input device 20 may be connected to the image processing apparatus 10 via a cable and transmit a display area movement request signal to the image processing apparatus 10.

図3は、本実施の形態において処理対象とする動画像の階層データを概念的に示している。階層データは、図の上から下へ向かうz軸方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。上述のとおり各階層は1つの動画像を異なる解像度で表した動画データ、すなわち複数の画像フレームを時系列順に並べたデータで構成される。同図においては各階層を4枚の画像フレームで象徴的に表しているが画像フレームの数は動画像の再生時間やフレームレートによって当然異なる。   FIG. 3 conceptually shows hierarchical data of moving images to be processed in the present embodiment. The hierarchical data has a hierarchical structure including a 0th hierarchy 30, a first hierarchy 32, a second hierarchy 34, and a third hierarchy 36 in the z-axis direction from the top to the bottom of the figure. Although only four layers are shown in the figure, the number of layers is not limited to this. As described above, each layer includes moving image data representing one moving image at different resolutions, that is, data in which a plurality of image frames are arranged in time series. In the figure, each layer is symbolically represented by four image frames, but the number of image frames naturally varies depending on the playback time and frame rate of the moving image.

なお後述するように本実施の形態は動画像データが有する画像平面および時間軸の3次元空間に対するランダムアクセス性に優れている。そのため例えば時間軸を「奥行き」とみなすことにより、動画像データに代えて3次元ボリュームデータを処理対象としてもよい。同様に3次元方向において冗長性を持ち得るデータであれば、パラメータの種類は特に限定されない。   As will be described later, the present embodiment is excellent in random accessibility with respect to a three-dimensional space of an image plane and a time axis possessed by moving image data. Therefore, for example, by regarding the time axis as “depth”, three-dimensional volume data may be processed instead of moving image data. Similarly, the type of parameter is not particularly limited as long as the data can have redundancy in the three-dimensional direction.

階層データは例えば4分木の階層構造を有し、各階層を構成する画像フレームを同一サイズを有する「タイル画像」に分割した場合、第0階層30は1個のタイル画像、第1階層32は2×2個のタイル画像、第2階層34は4×4個のタイル画像、第3階層は8×8個のタイル画像、などとなる。このとき第N階層の解像度(Nは0以上の整数)は、画像平面上で左右(x軸)方向、上下(y軸)方向ともに、第(N+1)階層の解像度の1/2となる。階層データは、最高解像度をもつ第3階層36の動画像をもとに、画像フレームを複数段階に縮小するなどして生成することができる。   For example, the hierarchical data has a hierarchical structure of a quadtree, and when the image frames constituting each hierarchy are divided into “tile images” having the same size, the 0th hierarchy 30 is one tile image, and the first hierarchy 32 Is 2 × 2 tile images, the second layer 34 is 4 × 4 tile images, the third layer is 8 × 8 tile images, and the like. At this time, the resolution of the Nth layer (N is an integer of 0 or more) is ½ of the resolution of the (N + 1) th layer in both the left and right (x-axis) directions and the vertical (y-axis) direction on the image plane. Hierarchical data can be generated by reducing an image frame in a plurality of stages based on a moving image of the third hierarchy 36 having the highest resolution.

動画表示時の視点座標およびそれに対応する表示領域は、図3に示すように、画像の左右方向を表すx軸、上下方向を表すy軸、解像度を表すz軸からなる仮想的な3次元空間で表すことができる。なお上述のとおり本実施の形態では複数の画像フレームが連なる動画データを階層として準備するため、実際に表示される画像は再生が開始されてからの時間にも依存し、同図では階層ごとに時間軸tを表している。   As shown in FIG. 3, the viewpoint coordinates at the time of moving image display and the corresponding display area are a virtual three-dimensional space composed of an x-axis representing the horizontal direction of the image, a y-axis representing the vertical direction, and a z-axis representing the resolution. Can be expressed as As described above, in this embodiment, since moving image data including a plurality of image frames is prepared as a hierarchy, the actually displayed image depends on the time from the start of reproduction. The time axis t is represented.

画像処理装置10は、基本的には時間軸tに沿っていずれかの階層の画像フレームを所定のフレームレートで順次描画していく。例えば第0階層30の解像度の動画像を基準画像として表示する。その過程で入力装置20から表示領域移動要求信号が供給されたら、当該信号から表示画像の変更量を導出し、その変更量を用いて次のフレームの、仮想空間における4隅の座標(フレーム座標)を導出する。そして当該フレーム座標に対応する画像フレームを描画する。この際、z軸に対し階層の切り替え境界を設けておくことにより、フレーム座標のzの値に応じて適宜、フレーム描画に用いる動画データの階層を切り替える。   The image processing apparatus 10 basically draws image frames in any hierarchy sequentially at a predetermined frame rate along the time axis t. For example, a moving image having a resolution of the 0th hierarchy 30 is displayed as a reference image. If a display area movement request signal is supplied from the input device 20 in the process, the change amount of the display image is derived from the signal, and the coordinates of the four corners of the next frame in the virtual space (frame coordinates) are used by using the change amount. ) Is derived. Then, an image frame corresponding to the frame coordinates is drawn. At this time, by providing a layer switching boundary with respect to the z-axis, the layer of moving image data used for frame drawing is appropriately switched according to the value of z of the frame coordinates.

なお、仮想空間におけるフレーム座標の代わりに、画像処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。   Instead of the frame coordinates in the virtual space, the image processing apparatus 10 may derive information for specifying the hierarchy and texture coordinates (UV coordinates) in the hierarchy. Hereinafter, the combination of the hierarchy specifying information and the texture coordinates is also referred to as frame coordinates.

画像処理装置10において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されている。そしてフレーム描画に必要なデータが記憶装置から読み出されてデコードされる。なお図3は階層データを概念的に表したものであり、記憶装置に格納されるデータの格納順やフォーマットを限定するものではない。例えば階層データの仮想空間における位置と実際の動画データの格納領域とが対応づけてあれば、動画データは任意の領域に格納することができる。また後に述べるように、各階層を構成する画像フレーム列に対し空間分割や時間分割を施し、その単位で圧縮符号化してもよい。   In the image processing apparatus 10, the hierarchical data is held in the storage device in a compressed state in a predetermined compression format. Data necessary for frame drawing is read from the storage device and decoded. FIG. 3 conceptually represents hierarchical data, and does not limit the storage order or format of data stored in the storage device. For example, if the position of the hierarchical data in the virtual space is associated with the storage area for the actual moving image data, the moving image data can be stored in an arbitrary area. As will be described later, space division or time division may be applied to the image frame sequence constituting each layer, and compression coding may be performed in that unit.

図4は画像処理装置10の構成を示している。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。   FIG. 4 shows the configuration of the image processing apparatus 10. The image processing apparatus 10 includes a wireless interface 40, a switch 42, a display processing unit 44, a hard disk drive 50, a recording medium mounting unit 52, a disk drive 54, a main memory 60, a buffer memory 70, and a control unit 100. . The display processing unit 44 has a frame memory that buffers data to be displayed on the display of the display device 12.

スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、画像サーバから階層データを受信できるように構成される。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された表示領域移動要求の信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。   The switch 42 is an Ethernet switch (Ethernet is a registered trademark), and is a device that transmits and receives data by connecting to an external device in a wired or wireless manner. The switch 42 is connected to an external network via the cable 14 and configured to receive hierarchical data from the image server. The switch 42 is connected to the wireless interface 40, and the wireless interface 40 is connected to the input device 20 using a predetermined wireless communication protocol. A display area movement request signal input from the user by the input device 20 is supplied to the control unit 100 via the wireless interface 40 and the switch 42.

ハードディスクドライブ50は、データを記憶する記憶装置として機能する。階層データはハードディスクドライブ50に格納されてもよい。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読出専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。階層データはこれらの記録媒体に格納されていてもよい。   The hard disk drive 50 functions as a storage device that stores data. The hierarchical data may be stored in the hard disk drive 50. When a removable recording medium such as a memory card is mounted, the recording medium mounting unit 52 reads data from the removable recording medium. When a read-only ROM disk is loaded, the disk drive 54 drives and recognizes the ROM disk to read data. The ROM disk may be an optical disk or a magneto-optical disk. Hierarchical data may be stored in these recording media.

制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。制御部100はさらにGPU(Graphics Processing Unit)を備えていてもよい。   The control unit 100 includes a multi-core CPU, and includes one general-purpose processor core and a plurality of simple processor cores in one CPU. The general-purpose processor core is called a PPU (Power Processing Unit), and the remaining processor cores are called a SPU (Synergistic-Processing Unit). The control unit 100 may further include a GPU (Graphics Processing Unit).

制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。   The control unit 100 includes a memory controller connected to the main memory 60 and the buffer memory 70. The PPU has a register, has a main processor as an operation execution subject, and efficiently assigns a task as a basic processing unit in an application to be executed to each SPU. Note that the PPU itself may execute the task. The SPU has a register, and includes a sub-processor as an operation execution subject and a local memory as a local storage area. The local memory may be used as the buffer memory 70.

メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。   The main memory 60 and the buffer memory 70 are storage devices and are configured as a RAM (Random Access Memory). The SPU has a dedicated DMA (Direct Memory Access) controller as a control unit, can transfer data between the main memory 60 and the buffer memory 70 at high speed, and the frame memory and the buffer memory 70 in the display processing unit 44 can be transferred. High-speed data transfer can be realized. The control unit 100 according to the present embodiment realizes a high-speed image processing function by operating a plurality of SPUs in parallel. The display processing unit 44 is connected to the display device 12 and outputs an image processing result according to a request from the user.

画像処理装置10は、表示画像の拡大/縮小処理やスクロール処理をスムーズに行うために、現在表示されているフレームに対し空間的、時間的に近接した動画データを逐次、ハードディスクドライブ50からメインメモリ60にロードしておく。また、メインメモリ60にロードした動画データの一部をデコードしてバッファメモリ70に格納しておく。これにより、動画再生を進捗させつつ表示領域を円滑に移動させることが可能となる。このときロードやデコードの対象となるデータは、それまでの表示領域の移動方向に基づき、以後、必要となる領域を先読みすることによって決定してもよい。   The image processing apparatus 10 sequentially transfers moving image data spatially and temporally close to the currently displayed frame from the hard disk drive 50 to the main memory in order to smoothly perform enlargement / reduction processing and scroll processing of the display image. 60 is loaded. Further, a part of the moving image data loaded in the main memory 60 is decoded and stored in the buffer memory 70. As a result, the display area can be smoothly moved while moving picture reproduction is progressing. At this time, the data to be loaded or decoded may be determined by pre-reading the necessary area based on the movement direction of the display area so far.

図3に示す階層データにおいて、z軸方向における位置は解像度を示し、第0階層30に近い位置ほど解像度が低く、第3階層36に近い位置ほど解像度は高い。ディスプレイに表示される画像の大きさに注目すると、z軸方向における位置は、縮尺率に対応し、第3階層36の表示画像の縮尺率を1とすると、第2階層34における縮尺率は1/4、第1階層32における縮尺率は1/16となり、第0階層30における縮尺率は1/64となる。   In the hierarchical data shown in FIG. 3, the position in the z-axis direction indicates the resolution. The position closer to the 0th hierarchy 30 has a lower resolution, and the position closer to the third hierarchy 36 has a higher resolution. When attention is paid to the size of the image displayed on the display, the position in the z-axis direction corresponds to the scale ratio. When the scale ratio of the display image of the third hierarchy 36 is 1, the scale ratio in the second hierarchy 34 is 1. / 4, the scale factor in the first hierarchy 32 is 1/16, and the scale factor in the 0th hierarchy 30 is 1/64.

したがってz軸方向において、表示画像が第0階層30側から第3階層36側へ向かう方向に変化する場合、表示画像は拡大していき、第3階層36側から第0階層30側へ向かう方向に変化する場合は、表示画像は縮小していく。例えば表示画像の縮尺率が第2階層34の近傍にある場合、表示画像は、第2階層34の画像データを用いて作成される。   Therefore, in the z-axis direction, when the display image changes in the direction from the 0th layer 30 side to the third layer 36 side, the display image expands and the direction from the third layer 36 side to the 0th layer 30 side. In the case of changing to, the display image is reduced. For example, when the scale ratio of the display image is in the vicinity of the second hierarchy 34, the display image is created using the image data of the second hierarchy 34.

具体的には上述のとおり、各階層の中間の縮尺率などにそれぞれ切り替え境界を設ける。例えば表示する画像の縮尺率が、第1階層32と第2階層34の間の切り替え境界と、第2階層34と第3階層36の間の切り替え境界の間にある場合に、第2階層34の画像データを利用してフレームを描画する。第1階層32と第2階層34の間の切り替え境界と、第2階層34の間の縮尺率では、第2階層34の画像フレームを縮尺して表示する。第2階層34と第3階層36の間の切り替え境界と、第2階層34の間の縮尺率では、第2階層34の画像フレームを拡大して表示する。   Specifically, as described above, a switching boundary is provided at an intermediate scale ratio of each layer. For example, when the scale ratio of the image to be displayed is between the switching boundary between the first hierarchy 32 and the second hierarchy 34 and the switching boundary between the second hierarchy 34 and the third hierarchy 36, the second hierarchy 34. A frame is drawn using the image data. At the switching boundary between the first hierarchy 32 and the second hierarchy 34 and the scale ratio between the second hierarchy 34, the image frame of the second hierarchy 34 is scaled and displayed. At the switching boundary between the second layer 34 and the third layer 36 and the scale ratio between the second layer 34, the image frame of the second layer 34 is enlarged and displayed.

一方、表示領域移動要求信号から予測される将来必要な領域を特定してデコードする場合は、各階層の縮尺率などを先読み境界として設定しておく。例えば、表示領域移動要求信号による要求縮尺率が第2階層34の縮尺率をまたいだときなどに、縮小方向にある第1階層32の画像データの少なくとも一部をハードディスクドライブ50またはメインメモリ60から先読みしてデコードし、バッファメモリ70に書き込む。   On the other hand, when a future necessary region predicted from the display region movement request signal is identified and decoded, the scale ratio of each layer is set as a prefetch boundary. For example, at least a part of the image data of the first hierarchy 32 in the reduction direction is transferred from the hard disk drive 50 or the main memory 60 when the requested scale ratio by the display area movement request signal crosses the scale ratio of the second hierarchy 34. Read ahead, decode and write to buffer memory 70.

画像の上下左右方向の先読み処理についても同様である。具体的には、バッファメモリ70に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。このようにすることで、ユーザの表示領域移動の要求に応じ、円滑に解像度および表示位置を変化させつつ動画再生も進んでいく態様を実現できる。   The same applies to the prefetch processing in the vertical and horizontal directions of the image. Specifically, a prefetch boundary is set for the image data developed in the buffer memory 70, and the prefetch process is started when the display position by the image change request signal crosses the prefetch boundary. By doing so, it is possible to realize a mode in which the moving image reproduction proceeds while smoothly changing the resolution and the display position in response to the user's request for moving the display area.

図5は本実施の形態において、階層構造を有する動画データを用いて動画を表示する機能を有する制御部100aの構成を詳細に示している。制御部100aは、入力装置20からユーザが入力した情報を取得する入力情報取得部102、新たに表示すべき領域のフレーム座標を決定するフレーム座標決定部110、新たにロードすべき動画ストリームの圧縮データを決定するロードストリーム決定部106、必要な動画ストリームをハードディスクドライブ50からロードするロード部108を含む。制御部100aはさらに、動画ストリームの圧縮データをデコードするデコード部112、および画像フレームを描画する表示画像処理部114を含む。   FIG. 5 shows in detail the configuration of the control unit 100a having a function of displaying moving images using moving image data having a hierarchical structure in the present embodiment. The control unit 100a includes an input information acquisition unit 102 that acquires information input by the user from the input device 20, a frame coordinate determination unit 110 that determines frame coordinates of a region to be newly displayed, and compression of a video stream to be newly loaded. A load stream determination unit 106 that determines data and a load unit 108 that loads a necessary moving image stream from the hard disk drive 50 are included. The control unit 100a further includes a decoding unit 112 that decodes the compressed data of the moving image stream, and a display image processing unit 114 that draws an image frame.

図5および後述する図10において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。   In FIG. 5 and FIG. 10 to be described later, each element described as a functional block for performing various processes can be configured by a CPU (Central Processing Unit), a memory, and other LSIs in terms of hardware. Specifically, it is realized by a program loaded in a memory. As described above, the control unit 100 includes one PPU and a plurality of SPUs, and each functional block can be configured by the PPU and the SPU individually or in cooperation. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.

入力情報取得部102は、ユーザが入力装置20に対して入力した、動画再生の開始/終了、表示領域の移動などの要求内容を取得し、フレーム座標決定部110に通知する。フレーム座標決定部110は、現在の表示領域のフレーム座標とユーザが入力した表示領域移動要求信号に従い、新たに表示すべき領域のフレーム座標を決定し、ロードストリーム決定部106、デコード部112、表示画像処理部114に通知する。   The input information acquisition unit 102 acquires request contents such as moving image reproduction start / end and display area movement input by the user to the input device 20 and notifies the frame coordinate determination unit 110 of them. The frame coordinate determination unit 110 determines the frame coordinates of a region to be newly displayed in accordance with the frame coordinates of the current display region and the display region movement request signal input by the user, the load stream determination unit 106, the decoding unit 112, the display The image processing unit 114 is notified.

ロードストリーム決定部106は、フレーム座標決定部110から通知されたフレーム座標に基づき、ハードディスクドライブ50からメインメモリ60へ新たにロードすべき動画像の圧縮データを特定し、ロード部108にロード要求を発行する。後述するように本実施の形態の階層データは、各階層を構成するフレーム画像列を同じサイズに空間分割してなるタイル画像列ごとに動画ストリームを個別に保持する。   Based on the frame coordinates notified from the frame coordinate determination unit 110, the load stream determination unit 106 identifies compressed video data to be newly loaded from the hard disk drive 50 to the main memory 60, and issues a load request to the load unit 108. Issue. As will be described later, the hierarchical data of the present embodiment individually holds a moving image stream for each tile image sequence obtained by spatially dividing the frame image sequence constituting each layer into the same size.

そのため、縮尺率とその表示に用いる階層との対応関係以外に、各階層における空間座標と、その座標に対応する画像データを含む動画ストリームの識別情報およびその格納領域とをあらかじめ対応づけておく。ロードストリーム決定部106はその情報を元に、必要な動画ストリームの識別情報を取得する。そして該当する動画ストリームの圧縮データがロード済みでなければ、ロード部108にロード要求を発行する。また、フレーム座標が変化しない場合であっても、動画の進捗に応じて逐次、必要な動画ストリームの圧縮データがロードされるように要求する。   Therefore, in addition to the correspondence between the scale ratio and the hierarchy used for display, the spatial coordinates in each hierarchy, the identification information of the moving picture stream including the image data corresponding to the coordinates, and the storage area thereof are associated in advance. Based on the information, the load stream determination unit 106 acquires necessary moving image stream identification information. If the compressed data of the corresponding video stream has not been loaded, a load request is issued to the load unit 108. Further, even if the frame coordinates do not change, it is requested that the compressed data of the necessary moving image stream is sequentially loaded according to the progress of the moving image.

ロードストリーム決定部106は、その時点のフレーム描画に必要な動画ストリームの他、以後必要と予測される動画ストリームを先に述べた先読み処理などにより特定し、ロード部108にロード要求を発行してよい。ロードストリーム決定部106は、ロード部108がロード処理中でない状態において、例えば所定の時間間隔、あるいは、ユーザが表示領域移動要求を入力した際など、所定のタイミングでロード要求を行ってもよい。ロード部108は、ロードストリーム決定部106からの要求に従い、ハードディスクドライブ50からのロード処理を行う。具体的にはロードすべき動画ストリームの識別情報から格納領域を特定し、当該格納領域から読み出したデータをメインメモリ60に格納する。   The load stream determination unit 106 identifies a video stream that is predicted to be necessary in addition to the video stream necessary for frame drawing at that time by the pre-read process described above, and issues a load request to the load unit 108. Good. The load stream determination unit 106 may make a load request at a predetermined timing in a state where the load unit 108 is not performing the load process, for example, at a predetermined time interval or when the user inputs a display area movement request. The load unit 108 performs load processing from the hard disk drive 50 in accordance with a request from the load stream determination unit 106. Specifically, the storage area is specified from the identification information of the moving picture stream to be loaded, and the data read from the storage area is stored in the main memory 60.

デコード部112は各時刻のフレーム座標に基づき、メインメモリ60から必要な動画ストリームのデータを読み出しデコードし、バッファメモリ70に逐次格納していく。デコード対象は動画ストリーム単位でよく、フレーム座標決定部110が決定したフレーム座標の領域が複数の動画ストリームにまたがる場合は当該複数の動画ストリームをデコードしていく。表示画像処理部114は、各時刻のフレーム座標に基づきバッファメモリ70から対応する画像フレームのデータを読み出し、表示処理部44のフレームメモリに描画していく。   Based on the frame coordinates at each time, the decoding unit 112 reads and decodes the necessary moving picture stream data from the main memory 60 and sequentially stores the data in the buffer memory 70. The decoding target may be a moving image stream unit, and when the frame coordinate area determined by the frame coordinate determining unit 110 extends over a plurality of moving image streams, the plurality of moving image streams are decoded. The display image processing unit 114 reads the data of the corresponding image frame from the buffer memory 70 based on the frame coordinates at each time, and draws it in the frame memory of the display processing unit 44.

一つの動画再生中に拡大縮小を含め表示領域の移動を許す態様においては、全ての階層が時間軸を共有し、利用される動画データの階層が切り替えられたか否かに関わらずシームレスにフレーム描画が進捗することが望ましい。そこで上述のとおり、画像フレームをタイル画像単位の動画ストリームとして階層データを生成しておく。これにより、一度の表示に必要な領域やその後に必要と予測されるデータを優先的にロード、デコードできるため、フレーム描画までに必要な処理の効率を向上させることができる。また時間的にもランダムアクセスが可能な状態でデータを準備することが望ましい。   In a mode that allows movement of the display area including enlargement / reduction during playback of one movie, all layers share the time axis, and frame drawing is seamless regardless of whether the layer of the movie data to be used has been switched or not. It is desirable to progress. Therefore, as described above, hierarchical data is generated using an image frame as a moving image stream in units of tile images. Thereby, since an area necessary for one display and data predicted to be necessary thereafter can be preferentially loaded and decoded, it is possible to improve the efficiency of processing necessary until frame drawing. It is also desirable to prepare data in a state where random access is possible over time.

本実施の形態で処理対象となる動画データは、縮尺率方向を含めた3次元のフレーム座標、および時間、という4次元のパラメータを有するため、動画ストリームを生成する単位や全体的な構成を、圧縮手法や動画の内容などに応じて適宜変化させることができる。図6から図9は本実施の形態において処理対象となる動画データの構造例を示している。   Since the moving image data to be processed in this embodiment has four-dimensional parameters such as three-dimensional frame coordinates including the scale direction and time, the unit for generating the moving image stream and the overall configuration are It can be appropriately changed according to the compression method and the content of the moving image. 6 to 9 show examples of the structure of moving image data to be processed in the present embodiment.

これらの図において三角形は動画の階層データを表し、直方体は1つの動画ストリームを表している。また各階層データは第0階層、第1階層、第2階層の3階層からなるが、階層の数をそれに限る趣旨ではない。上述のとおり1つの動画ストリームは各階層の画像フレームを同じサイズに分割してなるタイル画像ごとに生成され、これらの例では第0階層の画像のサイズをタイル画像のサイズとしている。   In these figures, a triangle represents moving image hierarchical data, and a rectangular parallelepiped represents one moving image stream. Each hierarchical data consists of three hierarchies of the zeroth hierarchy, the first hierarchy, and the second hierarchy, but the number of hierarchies is not limited to that. As described above, one moving image stream is generated for each tile image obtained by dividing the image frame of each layer into the same size. In these examples, the size of the 0th layer image is set as the size of the tile image.

まず図6に示す動画データ構造200は、各階層を、動画の開始から終了までを、各タイル画像に対し1つの動画ストリームとした1つの階層データ201からなる。ここで各動画ストリームの画像フレームであるタイル画像は上述のように同じサイズを有するため、第0階層は1個の動画ストリーム202a、第1階層は4個の動画ストリーム202b、第2階層は16個の動画ストリーム202cなどで構成される。   First, the moving image data structure 200 shown in FIG. 6 includes one layer data 201 in which each layer is one moving image stream for each tile image from the start to the end of the moving image. Here, since the tile images that are image frames of the respective moving image streams have the same size as described above, the 0th layer is one moving image stream 202a, the first layer is 4 moving image streams 202b, and the second layer is 16 The video stream 202c and the like.

図6の動画データ構造200の場合、動画ストリームの時間方向の長さは、元の動画の長さ、すなわち元の画像フレームの数に応じてが変化する。そのため元々画像フレームの数が少ない場合や、長時間データの圧縮が可能かつランダムアクセスが可能な圧縮方式、例えば全てのフレームをIピクチャとするMPEG(Moving Picture Experts Group)などを利用する場合に有利である。   In the case of the moving image data structure 200 of FIG. 6, the length of the moving image stream in the time direction varies depending on the length of the original moving image, that is, the number of original image frames. Therefore, it is advantageous when the number of image frames is originally small, or when using a compression method capable of long-term data compression and random access, such as MPEG (Moving Picture Experts Group) with all frames as I pictures. It is.

図7に示す動画データ構造204は、動画データを所定の画像フレーム数で区切り、各階層を、各タイル画像に対し時間軸方向に複数の動画ストリームとした1つの階層データ205で構成される。すなわち同図の動画ストリームは、図6で示した各動画ストリームを、図の縦方向である時間軸に対し分割している。この例では、図6の動画ストリームがそれぞれ6個の動画ストリームに分割されている。したがって第0階層は1×6個の動画ストリーム206a、第1階層は4×6個の動画ストリーム206b、第2階層は16×6個の動画ストリーム206cなどで構成される。固定数の画像フレーム単位で圧縮を行う圧縮方式を利用する場合にこのような構造となる。   The moving image data structure 204 shown in FIG. 7 is composed of one hierarchical data 205 in which moving image data is divided by a predetermined number of image frames, and each layer is a plurality of moving image streams in the time axis direction for each tile image. That is, the moving image stream in FIG. 6 is obtained by dividing each moving image stream shown in FIG. 6 with respect to the time axis which is the vertical direction of the drawing. In this example, the moving picture stream of FIG. 6 is divided into six moving picture streams. Therefore, the 0th layer is composed of 1 × 6 moving image streams 206a, the first layer is composed of 4 × 6 moving image streams 206b, the second layer is composed of 16 × 6 moving image streams 206c, and the like. This structure is used when a compression method that performs compression in units of a fixed number of image frames is used.

図8に示す動画データ構造208は、動画データを所定の画像フレーム数で区切り、その単位で生成した動画ストリームごとに別の階層データ210a、210b、210cを生成した構成を有する。すなわち各階層データ210a、210b、210cは、図6と同様に、階層ごとに時間軸方向に1つの動画ストリームで構成されるが、各動画ストリームは固定数の画像フレームを有する。例えば階層データ210aは、第0階層が1個の動画ストリーム212a、第1階層が4個の動画ストリーム212b、第2階層が16個の動画ストリーム212cで構成されている。   The moving image data structure 208 shown in FIG. 8 has a configuration in which moving image data is divided by a predetermined number of image frames, and different hierarchical data 210a, 210b, and 210c are generated for each moving image stream generated in that unit. That is, each hierarchical data 210a, 210b, 210c is composed of one moving image stream in the time axis direction for each layer as in FIG. 6, but each moving image stream has a fixed number of image frames. For example, in the hierarchical data 210a, the 0th layer is composed of one moving image stream 212a, the first layer is composed of 4 moving image streams 212b, and the second layer is composed of 16 moving image streams 212c.

図8の動画データ構造208の場合、時間軸方向に複数の階層データで構成されるため、あるシーンのみ別の階層データに差し替えたり、階層データを挿入、削除したり、というように、時間軸方向での動画編集が容易である。また各動画ストリームの画像フレーム数は固定となるため、データサイズが見積もりやすい。例えば後述する圧縮方式を適用すると、各動画ストリームのデータは静止画像を同様に階層構造としたときのタイル画像のデータと同様の構造とすることが可能であるため、静止画像の表示機構を動画像表示に利用したり、一部の領域を静止画にするなどの静止画像との共存が容易になる。   In the case of the moving picture data structure 208 in FIG. 8, since it is composed of a plurality of hierarchical data in the time axis direction, only a certain scene is replaced with another hierarchical data, or hierarchical data is inserted or deleted. Easy video editing in any direction. In addition, since the number of image frames in each video stream is fixed, the data size is easy to estimate. For example, if the compression method described later is applied, the data of each moving picture stream can have the same structure as the data of the tile image when the still picture has the same hierarchical structure. Coexistence with a still image such as an image display or a partial image as a still image is facilitated.

図9に示す動画データ構造214は、動画データを所定の画像フレーム数で区切り、その単位で生成した動画ストリームをさらに所定数ずつ分けて別の階層データ216a、216b、216cとした構成を有する。すなわち各階層データ216a、216b、216cは、図7と同様に、各階層につき時間軸方向に複数の動画ストリームで構成されるが、その数は動画の長さによらず固定とし、同図の場合は2個とすることで階層データを分けている。   The moving picture data structure 214 shown in FIG. 9 has a configuration in which the moving picture data is divided by a predetermined number of image frames, and the moving picture stream generated in that unit is further divided into a predetermined number of pieces as different hierarchical data 216a, 216b, and 216c. That is, each hierarchical data 216a, 216b, 216c is composed of a plurality of moving image streams in the time axis direction for each layer as in FIG. 7, but the number is fixed regardless of the length of the moving image. In this case, the hierarchy data is divided by using two.

例えば階層データ216aは、第0階層が1×2個の動画ストリーム218a、第1階層は4×2個の動画ストリーム218b、第2階層は16×2個の動画ストリーム218cで構成されている。この場合も、1つの階層データを構成する各階層のデータサイズの見積もりおよび調整が容易であるとともに、階層データを差し替えることにより時間軸方向での動画編集が容易である。   For example, in the hierarchical data 216a, the 0th layer includes 1 × 2 moving image streams 218a, the first layer includes 4 × 2 moving image streams 218b, and the second layer includes 16 × 2 moving image streams 218c. Also in this case, it is easy to estimate and adjust the data size of each layer constituting one layer data, and it is easy to edit a moving image in the time axis direction by replacing the layer data.

図6から図9に示した動画データ構造は全て、各階層で画像フレームの全領域を網羅するように動画ストリームを保持していたが、動画像が有する冗長性に応じて一部の動画ストリームを動画データから省き、別の階層の動画ストリームで代替するようにしてもよい。図10は一部の階層の動画ストリームを別の階層の動画ストリームで代替させる場合の動画のデータ構造を模式的に示している。データ構造の表し方は図6と同様である。同図に示す階層データ222は、領域224に対応する動画ストリームが省かれている。   The moving image data structures shown in FIGS. 6 to 9 all retain the moving image stream so as to cover the entire area of the image frame in each layer. However, some moving image streams depend on the redundancy of the moving image. May be omitted from the moving image data and replaced with a moving image stream of a different level. FIG. 10 schematically shows the data structure of a moving image when a moving image stream of a part of the hierarchy is replaced with a moving image stream of another layer. The way of representing the data structure is the same as in FIG. In the hierarchical data 222 shown in the figure, the moving picture stream corresponding to the area 224 is omitted.

図6に示した階層データ201と比較すると、第1階層228および第2階層230において動画ストリームの数が少なくなっている。この差分が省かれた動画ストリームである。この場合、省かれた動画ストリームが表す領域は、その階層にデータが存在しないことになる。そこでそのような階層のデータを用いるべき縮尺率で該当領域を表示するときは、該当領域のデータを保持する階層、同図の例では第0階層226まで階層を遡り、対応する領域を拡大して描画する。   Compared with the hierarchical data 201 shown in FIG. 6, the number of moving image streams is smaller in the first hierarchy 228 and the second hierarchy 230. This is a video stream from which this difference is omitted. In this case, the area represented by the omitted moving image stream has no data in the hierarchy. Therefore, when displaying the corresponding area at a scale ratio that should use data of such a hierarchy, the hierarchy is held up to the hierarchy holding the data of the applicable area, in the example of FIG. And draw.

このような態様は、画像フレーム中に詳細な情報を必要としない領域、例えば空、海、芝生などほぼ単色で構成される領域などが存在する場合に適用できる。このように画像フレームにおける冗長性の有無は、画像解析によって検出できる。例えば各時刻の画像フレームごとに、低解像度側の階層の画像フレームを拡大した画像と高解像度側の画像との差分画像を生成し、差分値が所定のしきい値以下となる領域を検出する。そしてその領域に含まれる動画ストリームのうち、高解像度側の階層の動画ストリームを動画データから除外する。   Such an aspect can be applied to a case where there is a region that does not require detailed information in the image frame, for example, a region composed of almost a single color such as sky, sea, or lawn. Thus, the presence or absence of redundancy in the image frame can be detected by image analysis. For example, for each image frame at each time, a difference image between an image obtained by enlarging an image frame on the low resolution side and an image on the high resolution side is generated, and an area where the difference value is equal to or less than a predetermined threshold is detected. . Then, among the video streams included in the area, the high-resolution layer video stream is excluded from the video data.

このようにすることで動画データのサイズを小さく抑えることができるとともに、動画ストリームのロード処理の一部を省略することができる。このような場合、前述の階層データが定める3次元座標と動画ストリームとを対応づけた情報において、除外した動画ストリームに対応する領域の座標に対し、拡大して用いる上の階層の動画ストリームの識別情報を対応づけ、さらに拡大倍率などの情報を付加することによって描画が可能となる。   By doing so, the size of the moving image data can be kept small, and a part of the loading processing of the moving image stream can be omitted. In such a case, in the information associating the three-dimensional coordinates determined by the hierarchical data and the moving image stream, identification of the moving image stream of the upper layer used in an enlarged manner with respect to the coordinates of the area corresponding to the excluded moving image stream Drawing is possible by associating information and adding information such as an enlargement ratio.

図10の例は、本実施の形態が、動画データを階層構造にする特徴と、フレーム画像を空間分割し、個別に動画ストリームを生成する、という特徴を併せ持つことによって成り立つ態様である。すなわちフレーム画像をタイル画像に分割することによって、局所的にデータの保持形式を異ならせることができ、さらに解像度の低い階層のデータを代替利用することができるため、一部のデータを省略してデータサイズを抑えることができる。同様の発想で、一部の動画ストリームのみ、構成する画像フレームを間引いてその数を減らし、データサイズを抑えてもよい。   The example of FIG. 10 is an aspect realized by the present embodiment having both the feature that the moving image data has a hierarchical structure and the feature that the frame image is spatially divided and the moving image stream is individually generated. In other words, by dividing the frame image into tile images, the data retention format can be locally changed, and data with a lower resolution can be used instead, so some data is omitted. Data size can be reduced. With the same idea, only a part of moving image streams may be thinned out to reduce the number of image frames, thereby reducing the data size.

このようにすると、当該動画ストリームが担当する領域は時間解像度が低下することになるが、背景など時間的に変化の少ない領域が含まれる動画では有効である。このときの時間冗長性も上述の空間冗長性と同様、例えば隣接する画像フレーム同士の差分画像のうち所定のしきい値以下の差分値を有する領域を検出するなどして特定できる。同様に、一部の動画ストリームを静止画像に置き換えることもできる。   In this way, the time resolution of the area handled by the moving picture stream is reduced, but it is effective for moving pictures including areas with little temporal change such as the background. Similar to the above-described spatial redundancy, the temporal redundancy at this time can be specified by, for example, detecting a region having a difference value equal to or less than a predetermined threshold among the difference images between adjacent image frames. Similarly, some moving picture streams can be replaced with still images.

また動画ストリームごとに圧縮方式を異ならせてもよい。さらに、階層データ内で時間軸を共有させず、階層ごと、動画ストリームごと、画像中の画素列ごと、など所定の単位で意図的に時間軸をずらすことによって様々な画像表現が可能となるようにしてもよい。   Also, the compression method may be different for each video stream. Furthermore, without sharing the time axis in the hierarchical data, various image representations can be realized by intentionally shifting the time axis in predetermined units such as for each hierarchy, for each moving picture stream, for each pixel column in the image. It may be.

上述のとおり本実施の形態で表示対象となる動画データの階層構造は、個々の動画ストリームの圧縮方式については特に制限されず、JPEG(Joint Photographic Experts Group)、MPEG、S3TC(S3 Texture Compression)などの既存の方式のいずれを適用してもよい。ただし階層の切り替えを含む表示領域の移動がシームレスに行えるようにするためには、空間的、時間的にランダムアクセスが可能であること、高精細画像であっても画質とデコードスループットの双方を維持できることが望ましい。   As described above, the hierarchical structure of the moving image data to be displayed in the present embodiment is not particularly limited with respect to the compression method of each moving image stream, such as JPEG (Joint Photographic Experts Group), MPEG, S3TC (S3 Texture Compression), etc. Any of the existing methods may be applied. However, in order to enable seamless movement of the display area, including layer switching, spatial and random access is possible, and both image quality and decoding throughput are maintained even for high-definition images. It is desirable to be able to do it.

次に、図7から図9で示した動画データ構造に適用できる、固定数の画像フレーム単位で動画ストリームを圧縮する手法について説明する。なお同圧縮手法は階層データを構成する複数の動画ストリームのみならず、単体の動画ストリームに対しても適用できる。本圧縮手法を実施する装置も、図4で示した画像処理装置10と同様の構成で実現できる。以下、制御部100の構成に主眼を置き説明する。   Next, a method for compressing a moving picture stream in units of a fixed number of image frames, which can be applied to the moving picture data structure shown in FIGS. The compression method can be applied not only to a plurality of moving image streams constituting hierarchical data but also to a single moving image stream. An apparatus that implements this compression technique can also be realized with the same configuration as the image processing apparatus 10 shown in FIG. Hereinafter, the description will be given focusing on the configuration of the control unit 100.

図11は本実施の形態において、動画データ圧縮機能を有する制御部100bおよびハードディスクドライブ50の構成を詳細に示している。制御部100bは圧縮対象の動画ストリームを構成する画像フレームの色空間をYCbCrへ変換するYCbCr変換部120、変換後の画像列を時空間分割して符号化単位を生成する画像分割部122、および分割された符号化単位ごとに画像データを量子化することで圧縮符号化処理を行う圧縮符号化部124を含む。   FIG. 11 shows in detail the configuration of the control unit 100b having the moving image data compression function and the hard disk drive 50 in the present embodiment. The control unit 100b includes a YCbCr conversion unit 120 that converts a color space of an image frame constituting a moving image stream to be compressed into YCbCr, an image division unit 122 that generates a coding unit by space-time dividing the converted image sequence, and A compression encoding unit 124 that performs compression encoding processing by quantizing the image data for each of the divided encoding units is included.

ハードディスクドライブ50は、個々の画像フレーム列からなる圧縮対象の動画ストリームを格納した動画ストリーム記憶部126、画像分割部122が画像列を分割する際の分割パターンを記憶する分割パターン記憶部128、および圧縮符号化部124が圧縮符号化して生成した圧縮データを格納する圧縮データ記憶部130を含む。   The hard disk drive 50 includes a moving image stream storage unit 126 that stores a moving image stream to be compressed including individual image frame sequences, a division pattern storage unit 128 that stores division patterns when the image dividing unit 122 divides the image sequence, and A compressed data storage unit 130 for storing compressed data generated by compression encoding by the compression encoding unit 124 is included.

YCbCr変換部120は、動画ストリーム記憶部126から圧縮対象の動画ストリームを構成する画像フレームのデータを順次読み出す。そして各画像フレームの画素値であるRGB値を輝度Y、色差CbおよびCrに変換することにより、それぞれの値を画素値とするY画像、Cb画像、Cr画像を生成する。RGBからYCbCrへの色空間の変換は既存の手法を適用することができる。1つの画像フレームからY画像、Cb画像、Cr画像が生成されるため、動画ストリームを構成する複数の画像フレームに対し、Y画像列、Cb画像列、Cr画像列が生成されることになる。   The YCbCr conversion unit 120 sequentially reads out the data of the image frames constituting the moving image stream to be compressed from the moving image stream storage unit 126. Then, by converting the RGB value, which is the pixel value of each image frame, into luminance Y and color differences Cb and Cr, a Y image, a Cb image, and a Cr image having the respective values as pixel values are generated. An existing method can be applied to the conversion of the color space from RGB to YCbCr. Since a Y image, a Cb image, and a Cr image are generated from one image frame, a Y image sequence, a Cb image sequence, and a Cr image sequence are generated for a plurality of image frames that form a moving image stream.

画像分割部122は、YCbCr変換部120が生成したY画像列、Cb画像列、Cr画像列のうち、まず各Cb画像およびCr画像を所定の割合で縮小する。そしてY画像列、Cb画像列、Cr画像列を、分割パターン記憶部128に格納された分割パターンで時空間分割する。分割によって生成された単位を「符号化単位」と呼ぶ。   The image dividing unit 122 first reduces each Cb image and Cr image at a predetermined ratio among the Y image sequence, Cb image sequence, and Cr image sequence generated by the YCbCr conversion unit 120. Then, the Y image sequence, the Cb image sequence, and the Cr image sequence are spatiotemporally divided by the division patterns stored in the division pattern storage unit 128. A unit generated by the division is referred to as “coding unit”.

詳細は後に述べるが、画像の内容によって最適な分割パターンが異なるため、画像分割部122は、分割パターン記憶部128に格納された複数の分割パターンから最適なパターンを選択する処理を行ってもよい。なお以後の処理において縮小されたCb画像およびCr画像は対応するフレームごとに組として扱う。以後、このようなCb画像とCr画像の組を単に「CbCr画像」と呼ぶ。   Although details will be described later, since the optimal division pattern differs depending on the content of the image, the image division unit 122 may perform a process of selecting an optimum pattern from a plurality of division patterns stored in the division pattern storage unit 128. . Note that the Cb image and the Cr image reduced in the subsequent processing are handled as a set for each corresponding frame. Hereinafter, such a set of Cb image and Cr image is simply referred to as “CbCr image”.

圧縮符号化部124は、Y画像、CbCr画像の符号化単位ごとに、2つの代表値を表すパレット、および、それら2つの代表値と代表値を線形補間して得られる複数の中間値のうちいずれかを画素ごとに指定するインデックスを生成することにより、画像データを量子化して圧縮符号化する。これにより、Y画像列の符号化単位、およびCbCr画像列の符号化単位ごとに、パレットおよびインデックスが生成される。   The compression encoding unit 124 includes a palette representing two representative values for each encoding unit of the Y image and the CbCr image, and a plurality of intermediate values obtained by linearly interpolating the two representative values and the representative value. By generating an index that designates either one for each pixel, the image data is quantized and compression-coded. Thereby, a palette and an index are generated for each encoding unit of the Y image sequence and each encoding unit of the CbCr image sequence.

図12は、制御部100bを含む画像処理装置10が実施する動画ストリームの圧縮手順を模式的に示している。圧縮対象の動画ストリーム250は、例えば図6から図9において直方体で示した動画ストリームに対応してよい。動画ストリーム250はRGB画像の画像フレームによって構成される。本圧縮手法では、当該動画ストリーム250を所定枚数の画像フレーム、図12の例では8フレームごとに圧縮する。   FIG. 12 schematically illustrates a moving image stream compression procedure performed by the image processing apparatus 10 including the control unit 100b. The moving image stream 250 to be compressed may correspond to, for example, a moving image stream indicated by a rectangular parallelepiped in FIGS. The moving image stream 250 is composed of image frames of RGB images. In this compression method, the moving picture stream 250 is compressed every predetermined number of image frames, that is, every 8 frames in the example of FIG.

まずYCbCr変換部120は、8フレーム分の画像フレームをさらに所定のサイズに空間分割して画像平面(x,y)および時間軸tの3次元空間で処理単位を定める。図の例では8画素×8画素×8フレームのデータを処理単位252としている。次に当該処理単位252に含まれる8枚のRGB画像から、8枚のY画像列254、およびCbCr画像列256を生成する(S10)。   First, the YCbCr converter 120 further divides the image frame for eight frames into a predetermined size and determines a processing unit in a three-dimensional space of the image plane (x, y) and the time axis t. In the illustrated example, data of 8 pixels × 8 pixels × 8 frames is used as a processing unit 252. Next, eight Y image sequences 254 and CbCr image sequences 256 are generated from the eight RGB images included in the processing unit 252 (S10).

ここでCbCr画像列256は上述のとおり、元のRGB画像から直接得られたCb画像、Cr画像を縦横の両方向で1/2のサイズに縮小して得られた画像列である。従ってY画像列254は8画素×8画素の画像フレームが8フレーム、CbCr画像列256は4画素×4画素のCb画像と4画素×4画素のCr画像を連結した画像が8フレーム、となる。   Here, as described above, the CbCr image sequence 256 is an image sequence obtained by reducing the Cb image and Cr image directly obtained from the original RGB image to ½ size in both the vertical and horizontal directions. Therefore, the Y image row 254 has 8 image frames of 8 pixels × 8 pixels, and the CbCr image row 256 has 8 frames of images obtained by connecting a Cb image of 4 pixels × 4 pixels and a Cr image of 4 pixels × 4 pixels. .

次に画像分割部122は、Y画像列254およびCbCr画像列256を、分割パターン記憶部128に格納された分割パターンのうちいずれかのパターンで時空間分割して符号化単位を形成する(S12)。同図の例では、Y画像列254およびCbCr画像列256の各画像フレームを横4画素×縦2画素の同じサイズで空間分割して得られた画像ブロックを、時間方向に隣接する2つの画像フレームごとに分割してなる、4画素×2画素×2枚のデータを符号化単位としている。   Next, the image dividing unit 122 performs space-time division on the Y image sequence 254 and the CbCr image sequence 256 with any one of the division patterns stored in the division pattern storage unit 128 to form a coding unit (S12). ). In the example of the figure, an image block obtained by spatially dividing each image frame of the Y image sequence 254 and the CbCr image sequence 256 with the same size of 4 horizontal pixels × 2 vertical pixels is divided into two images adjacent in the time direction. Data of 4 pixels × 2 pixels × 2 pieces divided for each frame is used as an encoding unit.

上述のとおりY画像列254は8画素×8画素であるため、各画像フレームは「A」、「B」、「C」、「D」、「E」、「F」、「G」、「H」の8個の画像ブロックに分割され、1番目のフレームの画像ブロック「A」と2番目のフレームの画像ブロック「A」とで符号化単位258を形成する(網掛けされた領域)。その他の画像ブロックおよび画像フレームも同様であり、結果としてY画像列254について空間分割数8×時間分割数4=32個の符号化単位が形成される。   Since the Y image sequence 254 is 8 pixels × 8 pixels as described above, each image frame has “A”, “B”, “C”, “D”, “E”, “F”, “G”, “ The image block “A” is divided into eight image blocks “H”, and the image block “A” of the first frame and the image block “A” of the second frame form an encoding unit 258 (shaded area). The same applies to the other image blocks and image frames. As a result, for the Y image sequence 254, the number of spatial divisions 8 × the number of time divisions 4 = 32 encoding units are formed.

一方、CbCr画像列256はCb画像、Cr画像ともに4画素×4画素であるため、前者は「I」、「J」、後者は「K」、「L」の2個の画像ブロックに分割され、1番目のフレームの画像ブロック「I」および「K」と2番目のフレームの画像ブロック「I」および「K」とで符号化単位260を形成する(網掛けされた領域)。その他の画像ブロックおよび画像フレームも同様であり、結果としてCbCr画像列256について空間分割数2×時間分割数4=8個の符号化単位が形成される。   On the other hand, since the CbCr image sequence 256 is 4 pixels × 4 pixels for both the Cb image and the Cr image, the former is divided into two image blocks of “I” and “J”, and the latter of “K” and “L”. The image blocks “I” and “K” of the first frame and the image blocks “I” and “K” of the second frame form an encoding unit 260 (shaded area). The same applies to the other image blocks and image frames. As a result, the coding unit of the space division number 2 × time division number 4 = 8 is formed for the CbCr image sequence 256.

圧縮符号化部124は、各符号化単位に対しパレットおよびインデックスのデータを生成する。パレットおよびインデックスは、基本的にはS3TCのテクスチャ圧縮方式においてRGB画像から生成されるパレットおよびインデックスと同様である。一方、本実施の形態では、パラメータの次元数が一般的なS3TCと異なる。図13はY画像列254の符号化単位258からパレットおよびインデックスのデータを生成する手法を模式的に示している。   The compression encoding unit 124 generates palette and index data for each encoding unit. The palette and the index are basically the same as the palette and the index generated from the RGB image in the S3TC texture compression method. On the other hand, in the present embodiment, the number of parameter dimensions is different from that of general S3TC. FIG. 13 schematically shows a method for generating palette and index data from the encoding unit 258 of the Y image sequence 254.

図12で示したパターンで分割した場合、符号化単位258は4×2×2=16画素を含む。同図において画素は円形で模式的に示されている。各画素が画素値として有する輝度Yのサンプル値を輝度Yの軸上に表すと分布262のようになる。その分布262でプロットされた16個のサンプルのうち、2つの代表値を選択する。例えば最小値(min)および最大値(max)を代表値として選択し、当該2値を保持するデータをパレットとする。さらに輝度Yの軸上、最小値と最大値の間の線分を1:2で内分する輝度Yの値を第1中間値(mid1)、2:1で内分する輝度Yの値を第2中間値(mid2)としたとき、最小値、第1中間値、第2中間値、最大値の4値のいずれかを指定する情報を画素ごとに保持するデータをインデックスとする。   When the pattern shown in FIG. 12 is used for division, the encoding unit 258 includes 4 × 2 × 2 = 16 pixels. In the figure, the pixels are schematically shown as circles. When a sample value of luminance Y that each pixel has as a pixel value is represented on the axis of luminance Y, a distribution 262 is obtained. Of the 16 samples plotted with the distribution 262, two representative values are selected. For example, the minimum value (min) and the maximum value (max) are selected as representative values, and data holding the binary values is used as a palette. Furthermore, on the axis of luminance Y, the luminance Y value that internally divides the line segment between the minimum value and the maximum value by 1: 2 is the first intermediate value (mid1), and the luminance Y value that is internally divided by 2: 1. Assuming that the second intermediate value (mid2) is used, data that stores information specifying any one of the four values of the minimum value, the first intermediate value, the second intermediate value, and the maximum value is used as an index.

すなわちY画像列254の1符号化単位258に対して、パレットは輝度Yを表す8ビット×2値=2バイト、インデックスは4値の識別番号を0〜3で表す情報2ビット×16画素=4バイトのデータとなる。上述のとおり1つの処理単位であるY画像列254は32個の符号化単位で構成されるため、Y画像列254全体では、パレットは32×2バイト=64バイト、インデックスは32×4バイト=128バイトのデータとなる。   That is, for one encoding unit 258 of the Y image sequence 254, the palette is 8 bits × 2 values = 2 bytes representing the luminance Y, and the index is information 2 bits × 16 pixels = 4 values representing identification numbers 0-3 = It becomes 4 bytes of data. As described above, the Y image sequence 254 that is one processing unit is composed of 32 encoding units. Therefore, in the entire Y image sequence 254, the palette is 32 × 2 bytes = 64 bytes, and the index is 32 × 4 bytes = The data is 128 bytes.

図14はCbCr画像列256の符号化単位260からパレットおよびインデックスのデータを生成する手法を模式的に示している。図12で示したパターンで分割した場合、符号化単位260は、Cb画像、Cr画像のそれぞれが4×2×2=16画素を含む。そこで、両画像の対応する画素が画素値として有する(色差Cb,色差Cr)を要素とする色差のサンプル値を、色差Cb、色差Crの軸を有する2次元平面上に表すと分布264のようになる。   FIG. 14 schematically shows a method of generating palette and index data from the encoding unit 260 of the CbCr image sequence 256. When divided in the pattern shown in FIG. 12, the coding unit 260 includes 4 × 2 × 2 = 16 pixels in each of the Cb image and the Cr image. Therefore, when a sample value of color difference having (color difference Cb, color difference Cr) as an element in the corresponding pixels of both images is represented on a two-dimensional plane having the axes of color difference Cb and color difference Cr, distribution 264 is obtained. become.

この分布264にプロットされた16個のサンプルのうち、2つの代表値を選択する。例えば分布264を直線で近似したときに、直線の左端、右端にある色差をそれぞれ最小値(min)および最大値(max)として代表値とする。そして当該2値を保持するデータをパレットとする。このとき各代表値は、(色差Cb,色差Cr)を要素とする2次元パラメータである。また近似直線上で最小値と最大値との間の線分を1:2で内分する色差を第1中間値(mid1)、2:1で内分する色差を第2中間値(mid2)としたとき、最小値、第1中間値、第2中間値、最大値の4値のいずれかを指定する情報を画素ごとに保持するデータをインデックスとする。   Of the 16 samples plotted in this distribution 264, two representative values are selected. For example, when the distribution 264 is approximated by a straight line, the color difference at the left end and the right end of the straight line is set as a representative value as a minimum value (min) and a maximum value (max), respectively. Then, the data holding the binary values is set as a palette. At this time, each representative value is a two-dimensional parameter having (color difference Cb, color difference Cr) as an element. On the approximate straight line, the color difference that internally divides the line segment between the minimum value and the maximum value by 1: 2 is the first intermediate value (mid1), and the color difference that internally divides by 2: 1 is the second intermediate value (mid2). In this case, data that stores information specifying any one of the four values of the minimum value, the first intermediate value, the second intermediate value, and the maximum value is used as an index.

すなわちCbCr画像列256の1符号化単位260に対して、パレットは色差CbおよびCrの2要素×各色差を表す8ビット×2値=4バイト、インデックスは4値の識別番号を0〜3で表す情報2ビット×16画素=4バイトのデータとなる。上述のとおり1つの処理単位であるCbCr画像列256は8個の符号化単位で構成されるため、CbCr画像列256全体では、パレットは8×4バイト=32バイト、インデックスは8×4バイト=32バイトのデータとなる。   That is, for one encoding unit 260 of the CbCr image sequence 256, the palette is 2 elements of color difference Cb and Cr × 8 bits representing each color difference × 2 values = 4 bytes, and the index is a 4-value identification number 0-3. Information to be expressed is 2 bits × 16 pixels = 4 bytes of data. As described above, the CbCr image sequence 256, which is one processing unit, is composed of 8 coding units. Therefore, in the entire CbCr image sequence 256, the palette is 8 × 4 bytes = 32 bytes and the index is 8 × 4 bytes = The data is 32 bytes.

このように圧縮すると、1処理単位の8画素×8画素×8フレームのRGB画像は、Y画像列のパレット64バイトとインデックス128バイト、CbCr画像列のパレット32バイトとインデックス32バイトの、合計256バイトとなる。すなわち1画素あたり0.5バイトのデータとなる。   When compressed in this way, an RGB image of 8 pixels × 8 pixels × 8 frames in one processing unit is 256 in total, including a palette of 64 bytes and an index of 128 bytes for a Y image sequence, and a palette of 32 bytes and an index of 32 bytes for a CbCr image sequence. It becomes a byte. That is, the data is 0.5 bytes per pixel.

S3TCを用いて4画素×4画素のRGB画像を圧縮したとき、パレットはRGB値を表す2バイト×2値=4バイト、インデックスはRGB値のうち4値の識別番号を0〜3で表す情報2ビット×16画素=4バイトのデータとなるため、圧縮後のデータは1画素あたり、8バイト/16画素=0.5バイトであり、上述の圧縮手法による圧縮後のデータサイズと同一となる。したがってこのような処理単位で動画データを圧縮していくことにより、ハードディスクドライブ50からメインメモリ60へロードするデータの単位やメインメモリ60内でのキャッシュラインのサイズなどの観点で、静止画と動画を同等に扱うことができる。   When a RGB image of 4 pixels × 4 pixels is compressed using S3TC, the palette is 2 bytes × 2 values = 4 bytes representing the RGB value, and the index is information representing the identification number of 4 values among the RGB values as 0 to 3 Since 2 bits × 16 pixels = 4 bytes of data, the data after compression is 8 bytes / 16 pixels = 0.5 bytes per pixel, which is the same as the data size after compression by the compression method described above. . Therefore, by compressing moving image data in such processing units, still images and moving images are taken into consideration in terms of the unit of data loaded from the hard disk drive 50 to the main memory 60, the size of the cache line in the main memory 60, and the like. Can be treated equally.

また本実施の形態では、RGB画像を1次元のパラメータを保持するY画像、および2次元のパラメータを保持するCbCr画像に分解したうえでパレットおよびインデックスを生成した。そのため、1次元のY画像の場合は全てのサンプル値が直線上に分布し、2次元のCbCr画像も、近似直線からはずれるサンプルは当該近似直線の法線方向のみとなる。したがって、3次元のパラメータを保持するRGB画像を直線で近似して量子化する一般的なS3TCの手法と比較し、量子化誤差を小さく抑えることができる。   In the present embodiment, the RGB image is decomposed into a Y image holding a one-dimensional parameter and a CbCr image holding a two-dimensional parameter, and then a palette and an index are generated. Therefore, in the case of a one-dimensional Y image, all sample values are distributed on a straight line, and in a two-dimensional CbCr image, the sample deviating from the approximate line is only in the normal direction of the approximate line. Therefore, compared with a general S3TC method in which an RGB image holding three-dimensional parameters is approximated by a straight line and quantized, the quantization error can be suppressed small.

図12の分割パターンでは、動画ストリームを横4画素×縦2画素×2フレーム分に分割して符号化単位とした。この分割パターンは上述のとおり、画像の内容によって適応的に変化させてもよい。図15は1つの処理単位を分割するパターンのバリエーションを示している。同図左端からパターン(A)、パターン(B)、パターン(C)、パターン(D)とし、上段のY画像列および下段のCbCr画像列のいずれも、空間分割の区切りを直線で示し、1つの符号化単位を網掛けして代表的に表している。   In the division pattern of FIG. 12, the moving picture stream is divided into 4 horizontal pixels × 2 vertical pixels × 2 frames to be an encoding unit. As described above, this division pattern may be adaptively changed according to the content of the image. FIG. 15 shows a variation of a pattern for dividing one processing unit. Pattern (A), pattern (B), pattern (C), and pattern (D) are shown from the left end of the figure, and each of the upper Y image sequence and the lower CbCr image sequence indicates a space division delimiter with a straight line. One coding unit is represented by shading.

パターン(A)は横4画素×縦4画素×1フレームごとに分割するパターンである。パターン(B)は図12に示したパターンと同一である。パターン(C)は横2画素×縦2画素×4フレームごとに分割するパターン、パターン(D)は横2画素×縦1画素×8フレームごとに分割するパターンである。   Pattern (A) is a pattern divided into 4 horizontal pixels × 4 vertical pixels × one frame. The pattern (B) is the same as the pattern shown in FIG. Pattern (C) is a pattern divided into 2 horizontal pixels × vertical 2 pixels × 4 frames, and pattern (D) is a pattern divided into 2 horizontal pixels × 1 vertical pixel × 8 frames.

これらのパターンはいずれも、1処理単位がY画像列に対し16画素、CbCr画像列に対し16画素×2となるため、量子化する際のサンプル数は図13および図14で示したのと同じである。一方パターン(D)からパターン(A)へ向かうほど、詳細な時間分割を行い、パターン(A)からパターン(D)へ向かうほど詳細な空間分割を行う。このような分割パターンを準備し、空間方向で冗長性を有するか、時間方向で冗長性を有するか、という画像の特性に応じて分割パターンを選択する。   In each of these patterns, since one processing unit is 16 pixels for the Y image sequence and 16 pixels × 2 for the CbCr image sequence, the number of samples at the time of quantization is as shown in FIG. 13 and FIG. The same. On the other hand, the more detailed time division is performed from the pattern (D) to the pattern (A), and the more detailed space division is performed from the pattern (A) to the pattern (D). Such a division pattern is prepared, and the division pattern is selected according to the characteristics of the image, such as whether it has redundancy in the spatial direction or redundancy in the temporal direction.

具体的には、空や芝など単色に近い領域が多く含まれるなど、画像が空間冗長性を有する場合、その画素値は空間に対してより一様となりやすく、空間分割数を少なくしても量子化による誤差が含まれにくいため、パターン(A)に近い分割パターンを選択する。一方、動きの少ない景色を定点観測した場合など、画像が時間冗長性を有する場合、その画素値は時間方向で一様となりやすく、時間分割数を少なくしても量子化による誤差が含まれにくいため、パターン(D)に近い分割パターンを選択する。   Specifically, if the image has spatial redundancy, such as the sky and turf contain many areas close to a single color, the pixel values tend to be more uniform with respect to the space, and the number of space divisions can be reduced. Since an error due to quantization is difficult to be included, a divided pattern close to the pattern (A) is selected. On the other hand, if the image has temporal redundancy, such as when a fixed-point view of a scene with little motion is observed, the pixel values are likely to be uniform in the time direction, and even if the number of time divisions is reduced, errors due to quantization are not easily included. Therefore, a division pattern close to the pattern (D) is selected.

例えばパターン(D)の場合、1つの符号化単位は空間方向には2画素のみを有する。同じ符号化単位に含まれる8フレーム分で時間変化がなければ、パレットで保持する2つの代表値がそのまま元の画素値を表していることになるため、量子化誤差は0となる。RGB画像に対してS3TCの手法で圧縮を行う場合、パレットに保持されるRGBのデータは本来の24ビットから16ビットへ低下させるため、デコードした際に十分な階調が得られないなど画質の低下が起こる場合がある。本実施の形態では輝度Y、色差Cb、Crのそれぞれに対し8ビットのパレットを準備するため元の画質を保持できる可能性が高い。   For example, in the case of the pattern (D), one encoding unit has only two pixels in the spatial direction. If there is no time change for 8 frames included in the same encoding unit, the two representative values held in the palette represent the original pixel values as they are, and the quantization error is zero. When the RGB image is compressed by the S3TC method, the RGB data held in the palette is reduced from the original 24 bits to 16 bits, so that sufficient gradation cannot be obtained when decoding, such as image quality. A decrease may occur. In this embodiment, an 8-bit palette is prepared for each of the luminance Y and the color differences Cb and Cr, so that there is a high possibility that the original image quality can be maintained.

分割パターン記憶部128には、パターン(A)〜パターン(D)の4種類の分割パターンと、それらを識別する情報、例えば0,1,2,3の4つの識別番号を対応づけて格納しておく。画像分割部122は、YCbCr変換部120が生成した各画像列に対し分割パターン記憶部128に格納された分割パターンを全て実施して、原画像との誤差が最も少ない分割パターンを選択する。   The division pattern storage unit 128 stores four types of division patterns (A) to (D) and information for identifying them, for example, four identification numbers 0, 1, 2, and 3 in association with each other. Keep it. The image division unit 122 performs all the division patterns stored in the division pattern storage unit 128 for each image sequence generated by the YCbCr conversion unit 120, and selects a division pattern with the least error from the original image.

この処理は実際には、各分割パターンで分割したときの画像列の圧縮符号化を圧縮符号化部124に実施させ、各圧縮データをデコードした画像と圧縮前の画像とを画像フレームごとに比較する。そして差分の少ない分割パターンを選択すればよい。画像分割部122は、選択した分割パターンの識別番号を圧縮符号化部124に通知し、圧縮符号化部124は、生成した圧縮データに当該識別番号の情報を含ませて最終的な圧縮データとし、圧縮データ記憶部130に格納する。   In actuality, this processing causes the compression encoding unit 124 to perform compression encoding of the image sequence when divided by each division pattern, and compares the image obtained by decoding each compressed data with the image before compression for each image frame. To do. Then, a division pattern with a small difference may be selected. The image dividing unit 122 notifies the identification number of the selected division pattern to the compression encoding unit 124, and the compression encoding unit 124 includes the information of the identification number in the generated compressed data as final compressed data. And stored in the compressed data storage unit 130.

分割パターンは、画像内の領域で異ならせるようにしてもよい。領域ごとに分割パターンを選択する手順も上記と同様でよい。そして画像分割部122は選択した分割パターンの識別番号と領域とを対応づけたマップを生成し、最終的な圧縮データに含めるようにする。図16は分割パターンマップのデータ構造例を示している。同図の例は、1つの動画ストリームを256画素×256画素の画像フレームで構成した場合を示している。図15で示した4種類の分割パターンを設定可能とした場合、分割パターンを設定できる最小単位は1処理単位である8画素×8画素×8フレームとする。   The division pattern may be different for each region in the image. The procedure for selecting the division pattern for each region may be the same as described above. Then, the image division unit 122 generates a map in which the identification number of the selected division pattern is associated with the region, and includes the map in the final compressed data. FIG. 16 shows an example of the data structure of the division pattern map. The example in the figure shows a case where one moving picture stream is composed of image frames of 256 pixels × 256 pixels. When the four types of division patterns shown in FIG. 15 can be set, the minimum unit that can set the division pattern is 8 pixels × 8 pixels × 8 frames, which is one processing unit.

もし最小単位ごとに分割パターンを設定する場合は図16に示すように、256画素×256画素の画像フレームに対し、8画素×8画素の領域ごとに分割パターンの識別番号、すなわち0〜3の値を対応づける。結果として分割パターンマップ270は32×32×2ビット=256バイトの情報となる。このような分割パターンマップ270を、8フレームごとにに付加すれば、時間方向に対しても分割パターンを異ならせることができる。   If a division pattern is set for each minimum unit, as shown in FIG. 16, an identification number of the division pattern, that is, 0 to 3 for each region of 8 pixels × 8 pixels with respect to an image frame of 256 pixels × 256 pixels. Associate values. As a result, the division pattern map 270 is 32 × 32 × 2 bits = 256 bytes of information. If such a division pattern map 270 is added every 8 frames, the division pattern can be made different in the time direction.

図16の例は分割パターンの設定を最小単位の8画素×8画素ごとに行った場合であるが、同様にして、16画素×16画素ごと、64画素×32画素ごとなど、縦方向、横方向に8画素×8画素の領域を連結した領域ごとに分割パターンを設定するようにしてもい。また全ての領域に対し1つの分割パターンを設定するなど、設定単位自体を様々に設定することができる。分割パターンマップは上述のように実際に圧縮符号化したデータをデコードして元の画像との誤差の小ささによって生成できるほか、同様の内容を有するテスト画像によって設定単位やそこに設定する分割パターンを準備しておいてもよい。   The example of FIG. 16 is a case where the division pattern is set for each minimum unit of 8 pixels × 8 pixels. Similarly, for example, every 16 pixels × 16 pixels, every 64 pixels × 32 pixels, etc. A division pattern may be set for each region obtained by connecting regions of 8 pixels × 8 pixels in the direction. Also, the setting unit itself can be set variously, such as setting one division pattern for all the areas. The division pattern map can be generated by decoding the data that was actually compressed and encoded as described above and with a small error from the original image. In addition, the division pattern map can be set by the test image having the same contents and the division pattern set there You may have prepared.

次に圧縮符号化部124が、圧縮符号化したデータを圧縮データ記憶部130に格納する手順について説明する。本実施の形態において生成される圧縮データは、S3TCのテクスチャ圧縮方式と同様に、パレットおよびインデックスによって構成される。そのためデコード処理は、図4の画像処理装置10の制御部100に含まれる、一般的なGPUのシェーディング機能をそのまま利用することができる。   Next, a procedure in which the compression encoding unit 124 stores the compression encoded data in the compressed data storage unit 130 will be described. The compressed data generated in the present embodiment is composed of palettes and indexes as in the S3TC texture compression method. Therefore, the decoding process can use a general GPU shading function included in the control unit 100 of the image processing apparatus 10 of FIG. 4 as it is.

そのため、Y画像列のデータを量子化して生成されたインデックスおよびパレットと、CbCr画像列のデータを量子化して生成されたインデックスおよびパレットが、通常のテクスチャ画像と同様に読み出されデコードできるようにすることが望ましい。そこで圧縮データを格納する際は、同じ領域を表すY画像列の量子化データとCbCr画像列の量子化データを1つのまとまりとすることにより、少ないデータアクセスで画素を復元できるようにする。   Therefore, the index and palette generated by quantizing the data of the Y image sequence and the index and palette generated by quantizing the data of the CbCr image sequence can be read and decoded in the same manner as a normal texture image. It is desirable to do. Therefore, when storing compressed data, the quantized data of the Y image sequence and the quantized data of the CbCr image sequence representing the same region are combined into one, so that the pixels can be restored with a small number of data accesses.

図17は圧縮データ記憶部130における圧縮データの配列を説明するための図である。上述のとおりY画像列、CbCr画像列に分解したのちに量子化したデータを、RGB画像の圧縮データと同等に扱うためには、同じ領域を表すそれらのデータをまとめて格納することが望ましい。そこで本実施の形態では、Y画像列に対する圧縮データ280と、同じ領域を表すCbCr画像列に対する圧縮データ282とを1つの格納単位としてまとめる。   FIG. 17 is a diagram for explaining the arrangement of compressed data in the compressed data storage unit 130. As described above, in order to treat the data quantized after being decomposed into the Y image sequence and the CbCr image sequence in the same manner as the compressed data of the RGB image, it is desirable to store the data representing the same region together. Therefore, in this embodiment, the compressed data 280 for the Y image sequence and the compressed data 282 for the CbCr image sequence representing the same area are collected as one storage unit.

図中、Y画像列に対する圧縮データ280のうち「I」と表記された直方体はそれぞれ1符号化単位から生成されたインデックス、「P」と表記された直方体はそれぞれ1符号化単位から生成されたパレットである。CbCr画像列に対する圧縮データ282も同様である。上述のとおり、Y画像列のインデックスおよびパレットは、1符号化単位あたりそれぞれ4バイト、2バイトのデータである。CbCr画像列のインデックスおよびパレットはどちらも、1符号化単位あたり4バイトのデータである。   In the figure, among the compressed data 280 for the Y image sequence, the rectangular parallelepiped denoted as “I” is generated from one encoding unit, and the rectangular parallelepiped denoted as “P” is generated from one encoding unit. It is a pallet. The same applies to the compressed data 282 for the CbCr image sequence. As described above, the index and palette of the Y image sequence are 4 bytes and 2 bytes of data per encoding unit, respectively. Both the index and palette of the CbCr image sequence are 4 bytes of data per encoding unit.

そこで図17に示すように、同じ領域を表す、Y画像列の4符号化単位とCbCr画像列の1符号化単位のデータを、深さ4バイトの記憶領域に配列してまとめる。ここでY画像列に対する圧縮データ280のうち、パレットはそれぞれ2バイトのデータであるため、図のように深さ方向に2つ配置することにより、縦方向2×横方向4×4バイトのデータとなる。ここで同じ領域を表すY画像列とCbCr画像列とは、例えば図12におけるY画像の画像ブロック「A」、「B」、「C」、「D」と、Cb画像の画像ブロック「I」、Cr画像の画像ブロック「K」などである。   Therefore, as shown in FIG. 17, the data of 4 encoding units of the Y image sequence and 1 encoding unit of the CbCr image sequence representing the same area are arranged in a storage area of 4 bytes in depth. Here, in the compressed data 280 for the Y image sequence, each palette is 2-byte data, so by arranging two in the depth direction as shown in the figure, 2 × 4 × 4 bytes of data in the vertical direction. It becomes. Here, the Y image sequence and the CbCr image sequence representing the same area are, for example, the image blocks “A”, “B”, “C”, “D” of the Y image and the image block “I” of the Cb image in FIG. , The image block “K” of the Cr image.

このように圧縮データをまとめると、縦方向2画素×横方向4画素分のRGBA画像のデータを格納する記憶領域284にそのまま格納することができる。上述のとおり8画素×8画素×8フレームの処理単位あたり、Y画像列は32個、CbCr画像列は8個の符号化単位が形成されるため、1処理単位あたりこのような格納単位が8個形成される。1格納単位は縦方向2画素×横方向4画素分のRGBA画像と同じデータサイズであるため、1処理単位あたり8画素×8画素のRGBA画像分のデータとなる。この特徴は、図15で示したどの分割パターンでも同様となる。   When the compressed data is collected in this way, it can be stored as it is in the storage area 284 for storing RGBA image data of 2 pixels in the vertical direction × 4 pixels in the horizontal direction. As described above, 32 encoding units are formed for the Y image sequence and 8 encoding units are formed for the CbCr image sequence per processing unit of 8 pixels × 8 pixels × 8 frames, so that there are 8 storage units per processing unit. Individually formed. Since one storage unit has the same data size as an RGBA image of 2 pixels in the vertical direction and 4 pixels in the horizontal direction, the data is equivalent to an RGBA image of 8 pixels × 8 pixels per processing unit. This feature is the same for any division pattern shown in FIG.

図18は、これまで述べた圧縮符号化処理を動画ストリーム全体に施したときのデータの変遷を模式的に示している。動画ストリームは256画素×256画素のRGB画像の画像フレームで構成され、それを8フレーム単位で圧縮するとする。まず8枚の画像フレームを8画素×8画素の処理単位に分割する(S20)。これにより縦方向および横方向に32個の処理単位が形成される。   FIG. 18 schematically shows the transition of data when the compression encoding process described so far is applied to the entire moving image stream. The moving image stream is composed of image frames of RGB images of 256 pixels × 256 pixels and is compressed in units of 8 frames. First, 8 image frames are divided into processing units of 8 pixels × 8 pixels (S20). As a result, 32 processing units are formed in the vertical and horizontal directions.

次にそれぞれの処理単位に対し、図12に示すように、YCbCr変換を施してY画像、縮小したCbCr画像を生成し、それぞれを符号化単位に分割したうえインデックスおよびパレットを生成する。それをまとめて1処理単位あたり8個の格納単位を生成する(S22)。結果として8フレーム分のRGB画像が、同じ画素数を有するRGBA画像1フレームに圧縮されたことになる。   Next, as shown in FIG. 12, YCbCr conversion is performed on each processing unit to generate a Y image and a reduced CbCr image, and each index is divided into coding units to generate an index and a palette. Collectively, eight storage units are generated per processing unit (S22). As a result, the RGB images for 8 frames are compressed into 1 frame of RGBA image having the same number of pixels.

ここで上述の分割パターンマップを圧縮データに埋め込む手法について説明する。図17に示すように1つの格納単位にはY画像列のパレットが4つ格納されている。各パレットには輝度Yの代表値である2値が格納されている。そこで、1つの格納単位に含まれる4つのパレットのうち、深さ方向に並べて配置された2つのパレットを用いて、4つの分割パターンを識別するための2ビットの情報を埋め込む。   Here, a method of embedding the above-described division pattern map in the compressed data will be described. As shown in FIG. 17, four Y image sequence palettes are stored in one storage unit. Each palette stores binary values that are representative values of luminance Y. Therefore, 2-bit information for identifying the four division patterns is embedded using two palettes arranged side by side in the depth direction among the four palettes included in one storage unit.

図19は当該2つのパレットに分割パターンの識別番号を埋め込む手法を説明するための図である。2つのパレットのうち第1のパレット290が保持する2値が、図の手前の先頭アドレスから順に「Pa0」、「Pa1」であり、第2のパレット292が保持する2値がアドレス順に「Pb0」、「Pb1」であるとする。ここで「Pa0」と「Pa1」の大小関係、「Pb0」と「Pb1」の大小関係によって合計2ビットの情報を表す。   FIG. 19 is a diagram for explaining a method of embedding the identification numbers of the divided patterns in the two pallets. Among the two pallets, the binary values held by the first pallet 290 are “Pa0” and “Pa1” in order from the head address in the front of the figure, and the binary values held by the second pallet 292 are “Pb0” in the address order. ”And“ Pb1 ”. Here, information of 2 bits in total is represented by the magnitude relationship between “Pa0” and “Pa1” and the magnitude relationship between “Pb0” and “Pb1”.

例えば第1のパレット290の「Pa0」が「Pa1」より大きければ「1」、それ以外であれば「0」とすることで1ビットの情報を表す。同様に第2のパレット292の「Pb0」が「Pb1」より大きければ「1」、それ以外であれば「0」とすることでさらに1ビットの情報を表す。パレットが保持する2値は、どちらが先のアドレスに格納されていてもデコード処理には影響しない。そこで各パレットにおいて大きい方の値をどちらのアドレスに格納するかを、分割パターンの識別番号に応じて入れ替えることにより、分割パターンの識別番号をパレットに埋め込むことができる。   For example, 1-bit information is represented by “1” if “Pa0” of the first palette 290 is larger than “Pa1” and “0” otherwise. Similarly, if “Pb0” of the second pallet 292 is larger than “Pb1”, “1” is set, and “0” is expressed otherwise. The binary value held by the palette does not affect the decoding process, whichever is stored at the previous address. Therefore, the identification number of the divided pattern can be embedded in the pallet by changing the address in which the larger value is stored in each pallet according to the identification number of the divided pattern.

このようにすることで、分割パターンマップを圧縮データの本体とは別に生成することなく、圧縮データに含めることができ、全体としてデータサイズを抑えることができる。また対応する領域の圧縮データごとに埋め込むため参照する際の効率がよい。上述のとおり分割パターンは最小で1処理単位(=8個の格納単位)であるため、8個の格納単位のうちいずれかのパレットの対に1つの分割パターンを埋め込めばよい。一方、8個の格納単位に含まれるパレットの対16個全てに同じ分割パターンを埋め込んでもよい。   In this way, the division pattern map can be included in the compressed data without being generated separately from the main body of the compressed data, and the data size can be suppressed as a whole. In addition, since it is embedded for each compressed data in the corresponding area, the efficiency in referring is good. As described above, since the division pattern is a minimum of one processing unit (= 8 storage units), it is only necessary to embed one division pattern in any pallet pair among the eight storage units. On the other hand, the same division pattern may be embedded in all 16 pairs of pallets included in the eight storage units.

このように分割パターンが埋め込まれた圧縮データを復号する際は、まず処理単位ごとに、分割パターンが埋め込まれたY画像列のパレットを読み出して、当該処理単位に設定された分割パターンの識別番号を特定する。それにより画素と、当該画素を描画するのに必要なデータが含まれているインデックスおよびパレットの格納場所とを対応づけられる。それに従い、描画対象の画素に対応するY画像列のインデックスおよびパレット、CbCr画像列のインデックスおよびパレットを読み出してデコードすればよい。   When decoding the compressed data in which the division pattern is embedded in this way, first, for each processing unit, the Y image sequence palette in which the division pattern is embedded is read, and the identification number of the division pattern set in the processing unit Is identified. As a result, the pixel can be associated with the storage location of the index and pallet containing the data necessary for drawing the pixel. Accordingly, the index and palette of the Y image sequence and the index and palette of the CbCr image sequence corresponding to the drawing target pixel may be read and decoded.

デコード処理は基本的にS3TCと同様に行える。すなわち各パレットが保持する代表値からそれを補間する中間値を生成し、インデックスにおける指定に従い、代表値または中間値を各画素の画素値とする。一方、本実施の形態では符号化単位ごとにパレットおよびインデックスを生成しているため、決定した画素値を、分割パターンに対応した、画像列における符号化単位の配列に基づき、空間方向および時間方向に画素の配列を再構成することによりY画像列、CbCr画像列を復元する。そしてCbCr画像を拡大してCb画像、Cr画像を生成することにより、元の画像フレームに対応するYCbCr画像が得られる。   The decoding process can be basically performed in the same manner as S3TC. That is, an intermediate value that interpolates the representative value held by each palette is generated, and the representative value or the intermediate value is set as the pixel value of each pixel according to the designation in the index. On the other hand, since the palette and the index are generated for each encoding unit in the present embodiment, the determined pixel value is based on the arrangement of the encoding units in the image sequence corresponding to the division pattern, and in the spatial direction and the temporal direction. The Y image sequence and the CbCr image sequence are restored by reconstructing the pixel arrangement. Then, by enlarging the CbCr image to generate a Cb image and a Cr image, a YCbCr image corresponding to the original image frame is obtained.

以上述べた本実施の形態によれば、動画を構成する画像フレームを異なる解像度で表した複数の動画ストリームを階層化した階層データを生成し、ユーザからの視点移動要求に応じて表示領域を移動させながら動画を表示する。求められる縮尺率によってフレーム描画に用いるデータの階層を切り替えることにより、一般的な高精細画像やそれを超える解像度の動画像であっても、細部を確認するために拡大したり全体を俯瞰するために縮小したり、といった要求を逐次受け付け、反応性よく表示することができる。   According to the present embodiment described above, hierarchical data is generated by hierarchizing a plurality of video streams representing image frames constituting a video at different resolutions, and the display area is moved in response to a viewpoint movement request from the user. To display the video. By switching the hierarchy of data used for frame drawing according to the required scale ratio, even a general high-definition image or a moving image with a resolution higher than that can be enlarged to confirm details or have a bird's-eye view. Requests can be sequentially received and displayed with good responsiveness.

階層データの各階層を構成する動画ストリームは、どの階層においても同じサイズの画像フレームで構成されるようにする。結果として高解像度の階層になるほど、1つの階層を構成する動画ストリームの数が増えることになる。このように画像フレームのサイズを揃えることで、表示時のロードやデコードなどの処理を階層によらず均一化できるとともに、表示対象領域の局所性に適合した効率的な描画処理を行える。   The moving image stream constituting each layer of the layer data is configured with image frames of the same size in any layer. As a result, the higher the resolution, the greater the number of video streams that make up one hierarchy. By aligning the sizes of the image frames in this way, it is possible to equalize the processing such as loading and decoding at the time of display regardless of the hierarchy, and to perform efficient drawing processing suitable for the locality of the display target area.

また1つの画像を複数の動画ストリームで構成することにより、動画ストリームごとにフレームレートを異ならせたり一部の領域を静止画像とするなどの調整を、画像の空間局所性に鑑み実施できる。またある解像度の階層の画像において、低解像度側の階層の画像を拡大して代用できる領域がある場合は、当該領域を担当する動画ストリーム自体をデータから省くこともできる。   In addition, by configuring one image with a plurality of moving image streams, adjustments such as making the frame rate different for each moving image stream or setting some areas as still images can be performed in view of the spatial locality of the image. In addition, in an image of a certain resolution, when there is an area that can be used by enlarging the image of the lower resolution side, the moving picture stream itself responsible for the area can be omitted from the data.

動画像を全編にわたり1つの階層データで構成せず、時間軸上で分割して複数の階層データで構成するようにしてもよい。また1つの階層データに含まれる各階層の動画ストリームを全編にわたり1つの動画圧縮データとしてもよいし、所定数の画像フレームごとに異なる動画圧縮データとしてもよい。このように階層データの数や階層データ内の動画ストリームのデータ構造、圧縮符号化形式を、動画像の内容のや再生時間などによって適宜選択できるようにすることで、動画表示時の処理の負荷、求められる画質など多角的な観点から最適な表示態様を実現できる。   A moving image may be divided into a plurality of hierarchical data by being divided on the time axis, instead of being composed of a single hierarchical data throughout the entire story. In addition, the moving picture stream of each layer included in one hierarchical data may be one moving picture compressed data over the entire volume, or may be different moving picture compressed data for each predetermined number of image frames. In this way, the processing load when displaying moving images can be selected by appropriately selecting the number of hierarchical data, the data structure of the video stream in the hierarchical data, and the compression encoding format depending on the content of the moving image and the playback time. Therefore, an optimum display mode can be realized from various viewpoints such as required image quality.

さらに本実施の形態では、所定数の画像フレームごとに動画ストリームを圧縮符号化する。このとき元の動画ストリームを構成する画像フレームのRGB画像を、輝度Y、色差CbおよびCrで表した画像をそれぞれ生成する。そしてCb画像およびCr画像を縮小したうえ、各画像列を所定サイズ、所定画像フレーム数ごとに分割して符号化単位を生成する。そのようにしてY画像列およびCbCr画像列のそれぞれに対しパレットおよびインデックスのデータを生成する。パレットは各画像の代表値を表す2値のデータ、インデックスは、代表値を線形補間して得られる中間値および代表値のうちの1つを画素ごとに指定するデータである。   Furthermore, in this embodiment, the moving image stream is compression-coded for each predetermined number of image frames. At this time, an image in which the RGB image of the image frame constituting the original moving image stream is represented by luminance Y, color difference Cb, and Cr is generated. Then, after reducing the Cb image and the Cr image, each image sequence is divided into a predetermined size and a predetermined number of image frames to generate a coding unit. In this way, palette and index data are generated for each of the Y image sequence and the CbCr image sequence. The palette is binary data representing the representative value of each image, and the index is data for designating one of the intermediate value and representative value obtained by linear interpolation of the representative value for each pixel.

パレットおよびインデックスの概念は、テクスチャのRGB画像に対するS3TCの圧縮手法で導入されているが、本実施の形態ではパレットの2値が輝度Y、色差Cb、色差Crのいずれに対しても8ビットを保持するため画質が劣化しにくい。またY画像列、およびCbCr画像列に対し別個に量子化を行うため、RGBの3次元パラメータを量子化するのと比較してパラメータの次元数が小さく量子化誤差が少ない。また符号化単位を形成する際の空間分割数、時間分割数の組み合わせを変化させ、画像の持つ空間方向の冗長性、時間方向の冗長性に適応するデータ構造を柔軟に提供できる。   The concept of palette and index is introduced in the S3TC compression method for texture RGB images, but in this embodiment, the binary value of the palette is 8 bits for all of luminance Y, color difference Cb, and color difference Cr. Image quality is unlikely to deteriorate due to retention. In addition, since the quantization is separately performed on the Y image sequence and the CbCr image sequence, the number of parameter dimensions is smaller and the quantization error is smaller than when the RGB three-dimensional parameters are quantized. In addition, by changing the combination of the number of space divisions and the number of time divisions when forming the coding unit, it is possible to flexibly provide a data structure adapted to the redundancy in the spatial direction and the redundancy in the time direction of the image.

上記の圧縮手法を用いれば、GPUによるテクスチャマッピングの処理と同様に描画処理を行えるため、階層を切り替えつつ表示領域の動画ストリームを読み込み所定のフレームレートで画像を描画していく、という本実施の階層構造の動画データにも適用できる高いスループットを見込める。既存の圧縮符号化方式と比較すると、例えばJPEGを用いて画像フレームごとにデコードする場合、画像の内容によってはデコードの処理負荷が増大しやすい。またMPEGは複数の動画ストリームのそれぞれについてIピクチャの復号が必要となるため結果的に処理負荷が増大しやすく、Iピクチャを減らすと時間方向のランダムアクセスに対しレイテンシが生じやすい、という問題が生じる。   If the above compression method is used, the rendering process can be performed in the same manner as the texture mapping process by the GPU. Therefore, the video stream in the display area is read while the hierarchy is switched, and the image is rendered at a predetermined frame rate. High throughput that can be applied to hierarchically structured video data can be expected. Compared with the existing compression encoding method, for example, when decoding for each image frame using JPEG, the processing load of decoding tends to increase depending on the content of the image. In addition, MPEG requires decoding of I pictures for each of a plurality of moving picture streams. As a result, the processing load tends to increase, and if I pictures are reduced, there is a problem that latency tends to occur for random access in the time direction. .

本実施の形態における圧縮符号化技術はGPUでのデコードを実現することによって、上記の既存技術と比較し高速描画が可能である。結果としてCPUにおける処理の負荷を抑えつつ高精細の動画を表示できる。そのためCPUにおいてさらに付加的な処理を行うことも可能であるほか、携帯端末などCPUの処理性能が劣る装置であってもコマ落ちなどのリスクが小さくなる。この特徴は、SSD(Solid Sate Drive)の普及などに伴い記憶装置からのデータ読み出しが高速化され、デコード処理がボトルネックとなりやすい今後の技術動向に適合しているといえる。   The compression coding technique in the present embodiment realizes high-speed drawing as compared with the above-described existing technique by realizing decoding with a GPU. As a result, a high-definition moving image can be displayed while reducing the processing load on the CPU. For this reason, it is possible to perform additional processing in the CPU, and the risk of dropping frames is reduced even in a device such as a portable terminal having inferior CPU processing performance. This feature can be said to be suitable for future technological trends in which data reading from a storage device is accelerated with the spread of SSD (Solid Sate Drive) and decoding processing is likely to become a bottleneck.

結果として本圧縮符号化技術は、画質を保持したまま高スループット描画を実現でき、さらに低レイテンシでの時間的、空間的ランダムアクセスが可能であるため、表示領域を変化させながら高精細動画を表示するために用いる階層構造の動画像データへ適用することにより、より効果的な動画像表示技術を実現できる。   As a result, this compression coding technology can achieve high-throughput rendering while maintaining image quality, and also enables temporal and spatial random access with low latency, so high-definition video can be displayed while changing the display area. By applying to the moving image data having a hierarchical structure used for the purpose, a more effective moving image display technique can be realized.

以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. Those skilled in the art will understand that the above-described embodiment is an exemplification, and that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.

1 画像処理システム、 10 画像処理装置、 12 表示装置、 20 入力装置、 30 第0階層、 32 第1階層、 34 第2階層、 36 第3階層、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 100 制御部、 102 入力情報取得部、 106 ロードストリーム決定部、 108 ロード部、 110 フレーム座標決定部、 112 デコード部、 114 表示画像処理部、 120 YCbCr変換部、 122 画像分割部、 124 圧縮符号化部、 126 動画ストリーム記憶部、 128 分割パターン記憶部、 130 圧縮データ記憶部。   DESCRIPTION OF SYMBOLS 1 Image processing system, 10 Image processing apparatus, 12 Display apparatus, 20 Input apparatus, 30 0th hierarchy, 32 1st hierarchy, 34 2nd hierarchy, 36 3rd hierarchy, 44 Display processing part, 50 Hard disk drive, 60 Main memory , 70 buffer memory, 100 control unit, 102 input information acquisition unit, 106 load stream determination unit, 108 load unit, 110 frame coordinate determination unit, 112 decoding unit, 114 display image processing unit, 120 YCbCr conversion unit, 122 image division unit , 124 compression encoding unit, 126 moving image stream storage unit, 128 division pattern storage unit, 130 compressed data storage unit.

Claims (22)

圧縮対象の、3次元パラーメータ空間におけるデータ列を当該3次元方向に分割して符号化単位を形成するデータ分割部と、
前記データ分割部が形成した符号化単位ごとに、データのうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を生成して圧縮データとする圧縮符号化部と、
を備えたことを特徴とするデータ圧縮装置。
A data dividing unit that divides a data string in a three-dimensional parameter space to be compressed in the three-dimensional direction to form a coding unit;
For each coding unit formed by the data dividing unit, a palette that holds binary data as representative values, and a plurality of intermediate values determined by linear interpolation of the representative values and one of the representative values are designated. An index that holds information instead of the original data of the encoding unit, and a compression encoding unit that generates compressed data,
A data compression apparatus comprising:
前記データ列として、画像フレーム平面および時間軸に対する画素値を有する、動画データの各画像フレームにおける画素値を、輝度Yおよび2つの色差Cb、Crに変換することにより前記画像フレームごとに生成した、輝度Yを画素値とするY画像、色差Cbを画素値とするCb画像、色差Crを画素値とするCr画像を時系列順に並べたY画像列、Cb画像列、Cr画像列を生成するYCbCr変換部をさらに備え、
前記データ分割部は、前記YCbCr変換部が生成したY画像列、Cb画像列、およびCr画像列を、それぞれ時空間分割して符号化単位を形成することを特徴とする請求項1に記載のデータ圧縮装置。
As the data string, the pixel value in each image frame of the moving image data having the pixel value with respect to the image frame plane and the time axis is generated for each image frame by converting the luminance Y and two color differences Cb and Cr. Y image having luminance Y as a pixel value, Cb image having color difference Cb as a pixel value, Y image sequence in which Cr images having a color difference Cr as a pixel value are arranged in chronological order, Cb image sequence, and YCbCr for generating a Cr image sequence A conversion unit;
The data division unit according to claim 1, wherein the data division unit divides the Y image sequence, the Cb image sequence, and the Cr image sequence generated by the YCbCr conversion unit, respectively, into space-time divisions to form an encoding unit. Data compression device.
前記データ分割部は、あらかじめ準備された複数の分割パターンで前記データ列の分割を行うことにより複数の符号化単位のパターンを形成し、前記圧縮符号化部に各パターンでデータ圧縮を行わせ、最も誤差の少ない分割パターンを選択することを特徴とする請求項1または2に記載のデータ圧縮装置。   The data dividing unit forms a pattern of a plurality of encoding units by dividing the data string with a plurality of division patterns prepared in advance, and causes the compression encoding unit to perform data compression with each pattern, 3. The data compression apparatus according to claim 1, wherein a division pattern with the least error is selected. 前記データ分割部は、前記3次元パラーメータ空間の所定単位の領域ごとに分割パターンを選択し、選択した分割パターンの識別情報と前記所定単位の領域とを対応づけた分割パターンマップを生成し、
前記圧縮符号化部は、選択された分割パターンによって形成された符号化単位ごとに前記パレットと前記インデックスを生成したうえ、前記分割パターンマップを前記圧縮データに含めることを特徴とする請求項1から3のいずれかに記載のデータ圧縮装置。
The data division unit selects a division pattern for each predetermined unit area of the three-dimensional parameter space, and generates a division pattern map in which identification information of the selected division pattern is associated with the predetermined unit area.
The compression encoding unit generates the palette and the index for each encoding unit formed by a selected division pattern, and includes the division pattern map in the compressed data. 4. The data compression apparatus according to any one of 3.
前記圧縮符号化部は、Y画像列の符号化単位ごとに、輝度Yに対するパレットおよびインデックスを生成し、Cb画像列およびCr画像列の符号化単位ごとに、(色差Cb,色差Cr)を要素にもつパラメータに対するパレットおよびインデックスを生成することを特徴とする請求項2に記載のデータ圧縮装置。   The compression encoding unit generates a palette and an index for the luminance Y for each encoding unit of the Y image sequence, and calculates (color difference Cb, color difference Cr) for each encoding unit of the Cb image sequence and the Cr image sequence. The data compression apparatus according to claim 2, wherein a palette and an index are generated for the parameters of the parameter. 前記データ分割部は、分割する前に前記Cb画像およびCr画像を画像平面方向に所定の倍率で縮小し、前記符号化単位に含まれる画素数が前記Y画像列、Cb画像列、Cr画像列で等しくなるように時空間分割することを特徴とする請求項2または5に記載のデータ圧縮装置。   The data dividing unit reduces the Cb image and the Cr image at a predetermined magnification in the image plane direction before dividing, and the number of pixels included in the encoding unit is the Y image sequence, the Cb image sequence, and the Cr image sequence. 6. The data compression apparatus according to claim 2, wherein the space-time division is performed so as to be equal to each other. 前記圧縮符号化部は、前記符号化単位ごとに生成したパレットおよびインデックスを、元の3次元パラーメータ空間の所定の領域単位でまとめた、格納単位を生成し、当該格納単位ごとに圧縮データとして記憶装置に格納することを特徴とする請求項1から6のいずれかに記載のデータ圧縮装置。   The compression encoding unit generates a storage unit in which palettes and indexes generated for each encoding unit are grouped in a predetermined area unit of the original three-dimensional parameter space, and stores the compressed unit for each storage unit. The data compression apparatus according to claim 1, wherein the data compression apparatus is stored in the apparatus. 前記圧縮符号化部は、前記分割パターンの識別情報を前記パレットが保持する2値の大小関係とその格納順によって表現することにより、前記分割パターンマップを前記符号化単位ごとに生成される前記パレットに埋め込むことを特徴とする請求項4に記載のデータ圧縮装置。   The compression encoding unit is configured to generate the division pattern map for each encoding unit by expressing the identification information of the division pattern by a binary magnitude relationship held in the palette and a storage order thereof. The data compression apparatus according to claim 4, wherein the data compression apparatus is embedded in the data compression apparatus. 前記動画データは、一の動画を構成する画像フレームを異なる解像度で表した複数の画像フレーム列を解像度順に階層化してなる階層動画データを構成し、各階層の画像フレーム列の画像平面を所定のサイズに区分けしてなるタイル画像単位の動画ストリームであることを特徴とする請求項2、5、および6のいずれかに記載のデータ圧縮装置。   The moving image data includes hierarchical moving image data formed by hierarchizing a plurality of image frame sequences representing image frames constituting one moving image at different resolutions in the order of resolution. 7. The data compression device according to claim 2, wherein the data compression device is a moving image stream in units of tile images divided into sizes. 3次元パラーメータ空間におけるデータ列を、当該3次元方向に分割して形成した符号化単位ごとに、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を対応づけた圧縮データを記憶装置から読み出す圧縮データ読み出し部と、
前記パレットが保持する代表値を線形補間して前記中間値を生成し、前記インデックスが保持する情報に従い、各符号化単位に含まれるデータを前記代表値および前記中間値のいずれかに決定したうえ、前記符号化単位の配列に基づき、元のデータ列を再構成して生成する復号部と、
生成したデータ列を出力する出力部と、
を備えたことを特徴とするデータ復号装置。
For each coding unit formed by dividing a data string in the three-dimensional parameter space in the three-dimensional direction, a palette that holds two of the pixel values as representative values, and a plurality of values determined by linear interpolation of the representative values A compressed data reading unit that reads compressed data associated with an index that holds information specifying either the intermediate value or the representative value instead of the original data of the encoding unit from the storage device;
The intermediate value is generated by linearly interpolating the representative value held by the palette, and the data included in each coding unit is determined as one of the representative value and the intermediate value according to the information held by the index. A decoding unit that reconstructs and generates an original data sequence based on the arrangement of the encoding units;
An output unit for outputting the generated data string;
A data decoding apparatus comprising:
前記圧縮データ読み出し部は、動画を構成する画像フレーム列に対応し、輝度Yを画素値とするY画像列、色差Cbを画素値とするCb画像列、色差Crを画素値とするCr画像列を前記データ列として読み出し、
前記復号部は、前記符号化単位の配列に基づき、画素の配列を再構成することにより前記Y画像列、Cb画像列、Cr画像列のデータを生成し、
前記出力部は、前記Y画像列、Cb画像列、Cr画像列のデータに基づき前記画像フレーム列を表すYCbCr画像列のデータを表示装置に出力することを特徴とする請求項10に記載のデータ復号装置。
The compressed data reading unit corresponds to an image frame sequence constituting a moving image, a Y image sequence having a luminance Y as a pixel value, a Cb image sequence having a color difference Cb as a pixel value, and a Cr image sequence having a color difference Cr as a pixel value. As the data string,
The decoding unit generates data of the Y image sequence, the Cb image sequence, and the Cr image sequence by reconstructing an array of pixels based on the array of coding units,
11. The data according to claim 10, wherein the output unit outputs data of a YCbCr image sequence representing the image frame sequence based on the data of the Y image sequence, Cb image sequence, and Cr image sequence to a display device. Decoding device.
前記圧縮データは、前記3次元方向の分割パターンを識別する情報を、前記3次元パラーメータ空間の所定の領域単位で保持する分割パターンマップをさらに含み、
前記復号部は、前記分割パターンマップが示す分割パターンによって前記符号化単位の配列を特定し、それに基づき元のデータの配列を再構成することを特徴とする請求項10または11に記載のデータ復号装置。
The compressed data further includes a division pattern map that holds information for identifying a division pattern in the three-dimensional direction in a predetermined region unit of the three-dimensional parameter space,
The data decoding according to claim 10 or 11, wherein the decoding unit specifies the arrangement of the encoding units based on the division pattern indicated by the division pattern map, and reconstructs the original data arrangement based on the arrangement. apparatus.
前記圧縮データは、前記符号化単位ごとのパレットおよびインデックスが、元の3次元パラーメータ空間の所定の領域単位でまとめられた格納単位で記憶装置に格納され、
前記圧縮データ読み出し部は、復号対象の領域ごとに前記格納単位を特定したうえ、当該格納単位に含まれるパレットおよびインデックスを読み出すことを特徴とする請求項10から12のいずれかに記載のデータ復号装置。
The compressed data is stored in a storage device in a storage unit in which a palette and an index for each encoding unit are grouped in a predetermined area unit of the original three-dimensional parameter space,
The data decoding according to any one of claims 10 to 12, wherein the compressed data reading unit specifies the storage unit for each region to be decoded and reads a palette and an index included in the storage unit. apparatus.
圧縮対象の、3次元パラーメータ空間におけるデータ列を記憶装置より読み出すステップと、
前記データ列を当該3次元方向に分割して符号化単位を形成するステップと、
前記符号化単位ごとに、データのうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を生成して圧縮データとして記憶装置に格納するステップと、
を含むことを特徴とするデータ圧縮方法。
Reading a data string in a three-dimensional parameter space to be compressed from a storage device;
Dividing the data string in the three-dimensional direction to form a coding unit;
For each encoding unit, a palette that holds two values of data as representative values, and a plurality of intermediate values determined by linear interpolation of the representative values and information specifying any one of the representative values are encoded. Generating an index to be held instead of the original data of the unit, and storing it in the storage device as compressed data;
A data compression method comprising:
3次元パラーメータ空間におけるデータ列を、当該3次元方向に分割して形成した符号化単位ごとに、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を対応づけた圧縮データを記憶装置から読み出すステップと、
前記パレットが保持する代表値を線形補間して前記中間値を生成し、前記インデックスが保持する情報に従い、各符号化単位に含まれるデータを前記代表値および前記中間値のいずれかに決定したうえ、前記符号化単位の配列に基づき、元のデータ列を再構成して生成するステップと、
生成した前記データ列を出力装置に出力するステップと、
を含むことを特徴とするデータ復号方法。
For each coding unit formed by dividing a data string in the three-dimensional parameter space in the three-dimensional direction, a palette that holds two of the pixel values as representative values, and a plurality of values determined by linear interpolation of the representative values Reading the compressed data associated with the index that holds the information specifying either the intermediate value or the representative value instead of the original data of the encoding unit from the storage device;
The intermediate value is generated by linearly interpolating the representative value held by the palette, and the data included in each coding unit is determined as one of the representative value and the intermediate value according to the information held by the index. Reconstructing and generating the original data sequence based on the arrangement of the encoding units;
Outputting the generated data string to an output device;
A data decoding method comprising:
圧縮対象の、3次元パラーメータ空間におけるデータ列を記憶装置より読み出す機能と、
前記データ列を当該3次元方向に分割して符号化単位を形成する機能と、
前記符号化単位ごとに、データのうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を生成して圧縮データとして記憶装置に格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
A function for reading a data string in a three-dimensional parameter space to be compressed from a storage device;
A function of dividing the data string in the three-dimensional direction to form a coding unit;
For each encoding unit, a palette that holds two values of data as representative values, and a plurality of intermediate values determined by linear interpolation of the representative values and information specifying any one of the representative values are encoded. A function of generating an index to be held instead of the original data of the unit and storing it in the storage device as compressed data;
A computer program for causing a computer to realize the above.
3次元パラーメータ空間におけるデータ列を、当該3次元方向に分割して形成した符号化単位ごとに、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を対応づけた圧縮データを記憶装置から読み出す機能と、
前記パレットが保持する代表値を線形補間して前記中間値を生成し、前記インデックスが保持する情報に従い、各符号化単位に含まれるデータを前記代表値および前記中間値のいずれかに決定したうえ、前記符号化単位の配列に基づき、元のデータ列を再構成して生成する機能と、
生成した前記データ列を出力装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
For each coding unit formed by dividing a data string in the three-dimensional parameter space in the three-dimensional direction, a palette that holds two of the pixel values as representative values, and a plurality of values determined by linear interpolation of the representative values A function of reading compressed data in association with an index that holds information designating either the intermediate value or the representative value instead of the original data of the encoding unit from the storage device,
The intermediate value is generated by linearly interpolating the representative value held by the palette, and the data included in each coding unit is determined as one of the representative value and the intermediate value according to the information held by the index. A function of reconstructing and generating an original data sequence based on the arrangement of the encoding units;
A function of outputting the generated data string to an output device;
A computer program for causing a computer to realize the above.
圧縮対象の、3次元パラーメータ空間におけるデータ列を記憶装置より読み出す機能と、
前記データ列を当該3次元方向に分割して符号化単位を形成する機能と、
前記符号化単位ごとに、データのうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を生成して圧縮データとして記憶装置に格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
A function for reading a data string in a three-dimensional parameter space to be compressed from a storage device;
A function of dividing the data string in the three-dimensional direction to form a coding unit;
For each encoding unit, a palette that holds two values of data as representative values, and a plurality of intermediate values determined by linear interpolation of the representative values and information specifying any one of the representative values are encoded. A function of generating an index to be held instead of the original data of the unit and storing it in the storage device as compressed data;
The recording medium which recorded the computer program characterized by making a computer implement | achieve.
3次元パラーメータ空間におけるデータ列を、当該3次元方向に分割して形成した符号化単位ごとに、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を、当該符号化単位の元のデータに代えて保持するインデックスと、を対応づけた圧縮データを記憶装置から読み出す機能と、
前記パレットが保持する代表値を線形補間して前記中間値を生成し、前記インデックスが保持する情報に従い、各符号化単位に含まれるデータを前記代表値および前記中間値のいずれかに決定したうえ、前記符号化単位の配列に基づき、元のデータ列を再構成して生成する機能と、
生成した前記データ列を出力装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
For each coding unit formed by dividing a data string in the three-dimensional parameter space in the three-dimensional direction, a palette that holds two of the pixel values as representative values, and a plurality of values determined by linear interpolation of the representative values A function of reading compressed data in association with an index that holds information designating either the intermediate value or the representative value instead of the original data of the encoding unit from the storage device,
The intermediate value is generated by linearly interpolating the representative value held by the palette, and the data included in each coding unit is determined as one of the representative value and the intermediate value according to the information held by the index. A function of reconstructing and generating an original data sequence based on the arrangement of the encoding units;
A function of outputting the generated data string to an output device;
The recording medium which recorded the computer program characterized by making a computer implement | achieve.
圧縮動画像ファイルのデータ構造であって、
動画を構成する画像フレーム列に対応し、輝度Yを画素値とするY画像列、色差Cbを画素値とするCb画像列、色差Crを画素値とするCr画像列を、それぞれ時空間分割して形成した符号化単位ごとに生成された、画素値のうち2値を代表値として保持するパレットと、当該代表値を線形補間して定まる複数の中間値および前記代表値のいずれかを指定する情報を画素ごとに保持するインデックスと、を対応づけて前記画像フレームの画像領域に対応させて配列したことを特徴とする圧縮動画像ファイルのデータ構造。
A data structure of a compressed video file,
The Y image sequence having luminance Y as a pixel value, the Cb image sequence having chrominance Cb as the pixel value, and the Cr image sequence having chrominance Cr as the pixel value corresponding to the image frame sequence constituting the moving image are respectively spatiotemporally divided. A palette that holds two of the pixel values as representative values generated for each encoding unit formed in this way, and a plurality of intermediate values determined by linear interpolation of the representative values and one of the representative values are designated. A data structure of a compressed moving image file, characterized in that an index for storing information for each pixel is associated and arranged in correspondence with an image area of the image frame.
前記時空間分割時の分割パターンを識別する情報を、前記画像フレームの所定の画像領域単位で保持する分割パターンマップをさらに対応づけたことを特徴とする請求項20に記載の圧縮動画像ファイルのデータ構造。   21. The compressed moving image file according to claim 20, further comprising a division pattern map that holds information for identifying a division pattern at the time-space division for each predetermined image area of the image frame. data structure. 請求項20または請求項21に記載のデータ構造を有する圧縮動画像ファイルを記録した記録媒体。   The recording medium which recorded the compressed moving image file which has the data structure of Claim 20 or Claim 21.
JP2010204806A 2010-09-13 2010-09-13 Data compression apparatus, data decoding apparatus, data compression method, data decoding method, and data structure of compressed video file Active JP5484276B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2010204806A JP5484276B2 (en) 2010-09-13 2010-09-13 Data compression apparatus, data decoding apparatus, data compression method, data decoding method, and data structure of compressed video file
EP11824711.3A EP2618565A4 (en) 2010-09-13 2011-07-06 Image processing device, image processing method, data structure for video files, data compression device, data decoding device, data compression method, data decoding method, and data structure for compressed video files
CN201180043291.7A CN103098466B (en) 2010-09-13 2011-07-06 Image processing apparatus and image processing method
PCT/JP2011/003871 WO2012035691A1 (en) 2010-09-13 2011-07-06 Image processing device, image processing method, data structure for video files, data compression device, data decoding device, data compression method, data decoding method, and data structure for compressed video files
EP18150093.5A EP3334161B1 (en) 2010-09-13 2011-07-06 Image processing device, image processing method, and data structure of moving image file
US13/782,185 US9218640B2 (en) 2010-09-13 2013-03-01 Image processing device for displaying moving image and image processing method thereof
US14/940,527 US9607357B2 (en) 2010-09-13 2015-11-13 Image processing device for displaying moving image and image processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010204806A JP5484276B2 (en) 2010-09-13 2010-09-13 Data compression apparatus, data decoding apparatus, data compression method, data decoding method, and data structure of compressed video file

Publications (2)

Publication Number Publication Date
JP2012060612A JP2012060612A (en) 2012-03-22
JP5484276B2 true JP5484276B2 (en) 2014-05-07

Family

ID=46057106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010204806A Active JP5484276B2 (en) 2010-09-13 2010-09-13 Data compression apparatus, data decoding apparatus, data compression method, data decoding method, and data structure of compressed video file

Country Status (1)

Country Link
JP (1) JP5484276B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5826730B2 (en) 2012-09-20 2015-12-02 株式会社ソニー・コンピュータエンタテインメント Video compression apparatus, image processing apparatus, video compression method, image processing method, and data structure of video compression file
WO2020075780A1 (en) * 2018-10-09 2020-04-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4835554B2 (en) * 2007-09-06 2011-12-14 ソニー株式会社 Encoding apparatus and method, decoding apparatus and method, and program

Also Published As

Publication number Publication date
JP2012060612A (en) 2012-03-22

Similar Documents

Publication Publication Date Title
WO2012035691A1 (en) Image processing device, image processing method, data structure for video files, data compression device, data decoding device, data compression method, data decoding method, and data structure for compressed video files
JP5722761B2 (en) Video compression apparatus, image processing apparatus, video compression method, image processing method, and data structure of video compression file
JP5826730B2 (en) Video compression apparatus, image processing apparatus, video compression method, image processing method, and data structure of video compression file
US11792405B2 (en) Codec
EP0771504B1 (en) Interactive image manipulation
US6046773A (en) Apparatus and method for decoding video images
CN100508585C (en) Apparatus and method for controlling reverse-play for digital video bit stream
CA2842576C (en) Moving image data generation device, moving image display device, moving image data generation method, moving image displaying method, and data structure of moving image file
CN107465939B (en) Method and device for processing video image data stream
JP5544253B2 (en) Image processing apparatus, image processing method, and data structure of moving image file
KR20210094054A (en) Bit-plane encoding of data arrays
JPH07281652A (en) Image processor
JP5375372B2 (en) Compression encoding apparatus and decoding apparatus
JP5484276B2 (en) Data compression apparatus, data decoding apparatus, data compression method, data decoding method, and data structure of compressed video file
JP5520890B2 (en) Image processing apparatus, image data generation apparatus, image processing method, image data generation method, and data structure of image file
JP4174026B2 (en) Image processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140218

R150 Certificate of patent or registration of utility model

Ref document number: 5484276

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250