JP2008085617A - Image processor, image processing method, recording medium, and program - Google Patents
Image processor, image processing method, recording medium, and program Download PDFInfo
- Publication number
- JP2008085617A JP2008085617A JP2006262872A JP2006262872A JP2008085617A JP 2008085617 A JP2008085617 A JP 2008085617A JP 2006262872 A JP2006262872 A JP 2006262872A JP 2006262872 A JP2006262872 A JP 2006262872A JP 2008085617 A JP2008085617 A JP 2008085617A
- Authority
- JP
- Japan
- Prior art keywords
- codec
- chip
- decoding
- processing
- pixel data
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
本発明は、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関し、特に、ベースバンドのビデオデータに符号化を施したり、符号化されたストリームデータを復号する場合に用いて好適な、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関する。 The present invention relates to an image processing device, an image processing method, a recording medium, and a program, and is particularly suitable for encoding baseband video data or decoding encoded stream data. The present invention relates to an image processing apparatus, an image processing method, a recording medium, and a program.
MPEG2(Moving Picture Coding Experts Group / Moving Picture Experts Group2)ビデオは、ISO/IEC(International Standards Organization / International Electrotechnical Commission)13818−2、およびITU−T (International Telecommunication Union−Telecommunication sector)勧告H.262に規定されているビデオ信号の高能率符号化方式である。 MPEG2 (Moving Picture Coding Experts Group / Moving Picture Experts Group 2) video is stipulated in ISO / IEC (International Standards Organization / International Electrotechnical Commission) 13818-2 and ITU-T (International Telecommunication Union-Telecommunication sector) Recommendation H.262 This is a high-efficiency encoding method for video signals.
MPEGでは、画像の時間的冗長性を利用して、近接した画像間で動き補償した差分を得ることにより、符号化効率を改善している。MPEGビデオデコーダでは、動き補償を用いた画素に対しては、現在デコードしている画素にその動きベクトルが示す参照画像の画素データを加算することにより動き補償を行い、符号化前の画像データに復号する。 In MPEG, encoding efficiency is improved by obtaining a motion compensated difference between adjacent images using temporal redundancy of images. In the MPEG video decoder, for pixels using motion compensation, motion compensation is performed by adding the pixel data of the reference image indicated by the motion vector to the currently decoded pixel, and the image data before encoding is added. Decrypt.
MPEG-2のビデオストリームは、シーケンス、GOP(group_of_picture)、ピクチャ、スライス、マクロブロック、ブロックの各レイヤごとに、階層的に構成されている。 The MPEG-2 video stream is hierarchically configured for each layer of a sequence, GOP (group_of_picture), picture, slice, macroblock, and block.
GOP内には、複数の画像(picture)が含まれる。MPEG-2においては、Iピクチャ(フレーム内予測符号化画像)、Pピクチャ(前方向予測符号化画像)、および、Bピクチャ(双方向予測符号化画像)の3種類のピクチャによって画像を構成している。Iピクチャは、全てのマクロブロックをイントラ符号化(フレーム内符号化)する。Pピクチャは、イントラ符号化、または、インター符号化(順方向フレーム間予測符号化)が行われるマクロブロックを含む。Bピクチャは、イントラ符号化、順方向(Forward)フレーム間予測符号化、逆方向(Backward)フレーム間予測符号化、または、順方向と逆方向の2つの予測を対応画素間でまるめつき平均することにより行われる内挿的(interpolative)フレーム間予測符号化が行われるマクロブロックを含む。他のピクチャなしで復号できるのはIピクチャのみである。したがって、ランダムアクセスのように前後関係の崩れるような操作は、Iピクチャにアクセスすることにより容易に実現することができる。 A GOP includes a plurality of pictures. In MPEG-2, an image is composed of three types of pictures: an I picture (intra-frame predictive encoded image), a P picture (forward predictive encoded image), and a B picture (bidirectional predictive encoded image). ing. In the I picture, all macroblocks are intra-coded (intra-frame coding). The P picture includes a macroblock on which intra coding or inter coding (forward interframe predictive coding) is performed. For B pictures, intra coding, forward interframe predictive coding, backward interframe predictive coding, or two predictions in the forward and reverse directions are rounded and averaged between corresponding pixels. Macroblocks for which interpolative interframe predictive coding is performed. Only I pictures can be decoded without other pictures. Therefore, an operation that breaks the context, such as random access, can be easily realized by accessing the I picture.
GOPの範囲は、GOPヘッダから、次のシーケンスヘッダか、GOPヘッダの直前までである。また、GOPヘッダは、ビットストリーム上でIピクチャの直前にのみ挿入される。一般的には、Bピクチャは、双方向予測符号化を用いてデコードされているので、その前後に位置するIピクチャおよびPピクチャを参照してデコードされる。参照されるピクチャがGOPをまたいで存在する場合、すなわち、直前、または、直後のGOPに含まれるIピクチャまたはPピクチャを参照する必要のあるBピクチャを含むGOPは、Open GOPと称される。Open GOPを単独でデコードしようとした場合、デコードすることができないBピクチャが存在してしまう。 The GOP range is from the GOP header to the next sequence header or just before the GOP header. The GOP header is inserted only immediately before the I picture on the bitstream. In general, since a B picture is decoded using bi-directional predictive coding, it is decoded with reference to I and P pictures located before and after the B picture. A GOP including a B picture that needs to refer to an I picture or a P picture included in the immediately preceding or immediately following GOP is called an Open GOP when the referenced picture exists across the GOP. When trying to decode Open GOP alone, there are B pictures that cannot be decoded.
しかしながら、Bピクチャは、常に双方向予測符号化を使う必要はなく、マクロブロック毎に双方向予測・前方予測のみ・後方予測のみ・予測無しを切り替えることが可能である。したがって、GOP内のBピクチャが、GOP内のIピクチャまたはPピクチャのみを参照することによってデコードできるようなGOPは、Closed GOPと称される。Closed GOPは、その前後のGOPのデータが無くとも単独でデコードすることが可能である。 However, it is not always necessary to use bi-predictive coding for B pictures, and bi-directional prediction, forward prediction only, backward prediction only, and no prediction can be switched for each macroblock. Therefore, a GOP in which a B picture in a GOP can be decoded by referring to only an I picture or a P picture in the GOP is called a closed GOP. The Closed GOP can be decoded independently even if there is no GOP data before and after that.
また、複数フレームで完結する符号化方式で圧縮符号化されたビデオ信号を、例えば、2倍速、または、3倍速で再生する場合に、自然な動きの再生画像を得ることができるようにした技術がある(例えば、特許文献1)。 In addition, when a video signal compressed and encoded by an encoding method that is completed in a plurality of frames is reproduced at, for example, double speed or triple speed, it is possible to obtain a natural motion reproduction image. (For example, Patent Document 1).
例えば、上述した特許文献に記載の技術を適用して、MPEGのOpen GOPを2倍速で再生しようとした場合を、図1および図2を用いて説明する。 For example, a case where an MPEG Open GOP is to be reproduced at a double speed by applying the technique described in the above-described patent document will be described with reference to FIGS.
図1は、1倍速でデコードできるデコードチップを2個使用して並列処理を行うことによりOpen GOPのストリームをデコードする復号装置1の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a
#1デコードチップ11−1および#2デコードチップ11−2は、符号化ストリームの入力を受け、1ピクチャ単位で、1倍速でデコード処理を行い、デコード済みの画像データをセレクタ13に供給する。バッファ12−1およびバッファ12−2は、それぞれ、#1デコードチップ11−1および#2デコードチップ11−2へ供給される符号化ストリームをバッファリングしたり、PピクチャまたはBピクチャをデコードするときの参照画像として用いられるデコード済みのIピクチャまたはPピクチャを一時保持するために用いられる。
The # 1 decode chip 11-1 and the # 2 decode chip 11-2 receive an input of the encoded stream, perform a decoding process at a single speed in units of one picture, and supply decoded image data to the
セレクタ13は、#1デコードチップ11−1または#2デコードチップ11−2から供給されたデコード済みの画像データのうち、復号ビデオ信号として出力されるものを選択して出力する。
The
再生装置1において、#1デコードチップ11−1または#2デコードチップ11−2は、それぞれ、1GOPのピクチャを連続してデコードするようになされている。例えば高速再生が行われるような場合、GOP0が#1デコードチップ11−1でデコードされ、GOP1が#2デコードチップ11−2でデコードされ、GOP2が#1デコードチップ11−1でデコードされ、GOP3が#2デコードチップ11−2でデコードされ、続くGOPも同様にして、交互にいずれかのデコードチップでデコードされる。
In the
図2を用いて、復号装置1が2倍速のデコード処理を行おうとした場合について説明する。
A case where the
例えば、#1デコードチップ11−1がGOP1をデコードする場合、GOP1の先頭の2枚のBピクチャをデコードするためには、GOP0の最後のPピクチャを参照する必要があり、GOP0の最後のPピクチャをデコードするためには、その直前のPピクチャを参照する必要があり、結局、GOP1の先頭の2枚のBピクチャをデコードするためには、GOP0のIピクチャおよびPピクチャを事前に全てデコードする必要がある。 For example, when # 1 decode chip 11-1 decodes GOP1, in order to decode the first two B pictures of GOP1, it is necessary to refer to the last P picture of GOP0, and the last P picture of GOP0. In order to decode a picture, it is necessary to refer to the P picture immediately before it. After all, in order to decode the first two B pictures of GOP1, all the I and P pictures in GOP0 are decoded in advance. There is a need to.
同様に、#2デコードチップ11−2がGOP2をデコードする場合、GOP2の先頭の2枚のBピクチャをデコードするためには、GOP1の最後のPピクチャを参照する必要があり、GOP1の最後のPピクチャをデコードするためには、その直前のPピクチャを参照する必要があり、結局、GOP2の先頭の2枚のBピクチャをデコードするためには、GOP1のIピクチャおよびPピクチャを事前に全てデコードする必要がある。 Similarly, when the # 2 decode chip 11-2 decodes GOP2, in order to decode the first two B pictures of GOP2, it is necessary to refer to the last P picture of GOP1, and the last of GOP1 In order to decode the P picture, it is necessary to refer to the immediately preceding P picture. After all, in order to decode the first two B pictures of GOP2, all the I pictures and P pictures of GOP1 must be It needs to be decoded.
すなわち、#1デコードチップ11−1および#2デコードチップ11−2は、それぞれ、割り当てられたGOPのデコードに先立って、その1つ前のGOPのIピクチャおよびPピクチャをデコードする必要がある。したがって、再生装置1の#1デコードチップ11−1および#2デコードチップ11−2において、1GOPずつ交互にデコード処理を行うことにより、2倍速で再生出力をしようとした場合、それぞれのデコードチップに割り当てられたGOPをデコードするための参照画像として1つ前のGOPのIピクチャおよびPピクチャをデコードするために必要な時間の分、GOP3以降の再生開始時刻に遅延が発生してしまい、2倍速のデコード処理を実現することができない。
That is, each of the # 1 decode chip 11-1 and # 2 decode chip 11-2 needs to decode the I picture and P picture of the previous GOP prior to decoding of the assigned GOP. Therefore, when the reproduction output is to be performed at the double speed by performing the decoding process alternately by 1 GOP in the # 1 decoding chip 11-1 and the # 2 decoding chip 11-2 of the reproducing
すなわち、1倍速のデコード能力を有するデコードチップを複数用いて2倍速再生を実現しようとした場合、図3に示されるように、#1デコードチップ11−1および#2デコードチップ11−2に加えて、第3のデコードチップを設けて、3チップ並列でデコード処理する必要がある。このような構成にすることにより、それぞれのデコードチップに割り当てられたGOPをデコードするための参照画像として1つ前のGOPのIピクチャおよびPピクチャをデコードするために必要な時間を補うことができるので、2倍速のデコード処理が可能となる。 That is, when trying to realize double speed reproduction using a plurality of decode chips having a single speed decoding capability, in addition to # 1 decode chip 11-1 and # 2 decode chip 11-2, as shown in FIG. Thus, it is necessary to provide a third decoding chip and perform decoding processing in parallel with three chips. With this configuration, it is possible to make up for the time required to decode the I picture and P picture of the previous GOP as a reference picture for decoding the GOP assigned to each decoding chip. Therefore, a double speed decoding process is possible.
例えば、あるGOPのデコードにかかる時間をTとし、図4Aに示されるように、GOP2をデコードするための参照画像としてGOP1のIピクチャおよびPピクチャをデコードするために必要な時間T1がT/2より短かった場合、上述したように、3つのデコードチップを用いて2倍速デコード処理が可能となる。しかしながら、例えば、それぞれのピクチャのデコード時間が同一ではない場合など、GOP2をデコードするための参照画像としてGOP1のIピクチャおよびPピクチャをデコードするために必要な時間T2がT/2より長かった場合、3つのデコードチップを用いても、2倍速デコード処理を行うことができないため、このようなOpen GOPを2倍速でデコードするには、更に、デコードチップを1つ追加する必要が生じてしまう。 For example, the time required for decoding a certain GOP is T, and as shown in FIG. 4A, the time T1 required for decoding the I picture and the P picture of GOP1 as a reference picture for decoding GOP2 is T / 2. If it is shorter, as described above, double-speed decoding can be performed using three decoding chips. However, when the time T2 required for decoding the I picture and P picture of GOP1 as a reference image for decoding GOP2 is longer than T / 2, for example, when the decoding times of the pictures are not the same Even if three decoding chips are used, the double speed decoding process cannot be performed. Therefore, in order to decode such an Open GOP at double speed, it is necessary to add one more decoding chip.
なお、ストリームをClosed GOPに限定した場合には、図5に示されるように、参照画像として1つ前のGOPのIピクチャおよびPピクチャをデコードする必要がないため、2チップでも2倍速デコード処理が可能となる。しかしながらストリームがOpen GOPかClosed GOPかは、エンコード時に決まるものであるため、デコード処理を実行する再生装置1側で対応することはできない。なお、Closed GOPは、参照するピクチャがGOP内で閉じている分、画質が劣るため、編集部分などの特別な場合を除き、一般的には用いられない。
When the stream is limited to a closed GOP, as shown in FIG. 5, it is not necessary to decode the I picture and P picture of the previous GOP as a reference image, so double-speed decoding processing is possible even with two chips. Is possible. However, since whether a stream is an Open GOP or a Closed GOP is determined at the time of encoding, it cannot be handled by the
また、フレーム周波数の高い符号化ビデオストリームをデコードするためにも、上述したように、1倍速のデコード能力を有するデコードチップを複数用いるか、または、クロック周波数を高くする必要があった。 In addition, in order to decode an encoded video stream having a high frame frequency, as described above, it is necessary to use a plurality of decode chips having a 1x speed decoding capability or to increase the clock frequency.
また、ビデオサーバやノンリニア編集機などの映像処理装置においては、複数の映像チャンネルを一度に取り扱う。このような映像処理装置では、SDTV(標準精細テレビジョン映像)やHDTV(高精細テレビジョン映像)など、複数の映像フォーマットを扱うことがある。このような映像処理装置では、映像を圧縮符号化したり、圧縮符号化されたストリームを復号することがある。 In video processing devices such as video servers and non-linear editing machines, a plurality of video channels are handled at a time. Such a video processing apparatus may handle a plurality of video formats such as SDTV (standard definition television video) and HDTV (high definition television video). In such a video processing apparatus, a video may be compression-encoded or a compression-encoded stream may be decoded.
圧縮フォーマットの代表的なものにMPEG2がある。MPEG2の中でも、プロファイルやレベルによって、エンコードやデコードの処理量が異なる。一般的に、プロファイルやレベルのより高いものが、エンコードやデコードの処理量がより大きい。 MPEG2 is a representative compression format. Even in MPEG2, the amount of encoding and decoding varies depending on the profile and level. In general, the higher the profile and the level, the larger the processing amount of encoding and decoding.
IPBピクチャで構成されたLongGOP構造を持った圧縮フォーマットは、Iピクチャだけで構成された圧縮フォーマットに比べ、デコードの処理量が大きい。IPBピクチャで構成された圧縮フォーマットのとき、任意のピクチャのデコード処理は、時間軸方向の一倍速のデコード処理に比べ、処理量が大きい。 A compression format having a LongGOP structure composed of IPB pictures has a larger decoding processing amount than a compression format composed only of I pictures. When the compression format is composed of IPB pictures, the decoding amount of an arbitrary picture is larger than the single-speed decoding processing in the time axis direction.
このように、エンコードやデコードの処理量の大きなものの中には、エンコーダやデコーダの処理能力を超えるものがある。エンコーダやデコーダの処理能力を超える場合においても、複数個のエンコーダや複数個のデコーダを用いたり、または、クロック周波数を高くする必要があった。 As described above, some of the large processing amounts of encoding and decoding exceed the processing capability of the encoder and decoder. Even when the processing capability of the encoder or decoder is exceeded, it is necessary to use a plurality of encoders or decoders or to increase the clock frequency.
例えば、従来の映像装置では、取り扱うフォーマットの中で最も処理量の大きいものに合わせ、ひとつの映像チャンネルあたりのエンコーダの個数やデコーダの個数が決定していた。従来の映像装置では、複数個のエンコーダや複数個のデコーダがひとつの映像チャンネルに固定に割り当てられていたので、処理量の少ないフォーマットであっても、エンコーダやデコーダの処理能力を有効に活用することができず、映像チャンネルを増やすことはできなかった。 For example, in the conventional video apparatus, the number of encoders and the number of decoders per video channel are determined in accordance with the format that handles the largest amount of processing. In conventional video equipment, multiple encoders and multiple decoders are fixedly assigned to a single video channel, so the processing capacity of encoders and decoders can be effectively utilized even in formats with a small amount of processing. I couldn't increase the video channel.
本発明はこのような状況に鑑みてなされたものであり、符号化や復号の処理を、高速に、または、高性能に行うことができるようにするものである。 The present invention has been made in view of such a situation, and enables encoding and decoding processing to be performed at high speed or with high performance.
本発明の第一側面の画像処理装置は、1画面を分割してそれぞれで処理させることが可能な複数の第1のコーディック処理手段を含む第2のコーディック処理手段と、前記第2のコーディック処理手段により実行されるコーディック処理の難易度を基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する制御手段とを備える。 The image processing apparatus according to the first aspect of the present invention includes a second codec processing unit including a plurality of first codec processing units capable of processing one screen by dividing it, and the second codec processing. Based on the degree of difficulty of the codec processing executed by the means, the plurality of first codec processing means included in the second codec processing means respectively process different screens or divide one screen. Control means for determining whether to execute the codec in each.
前記第2のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理がIピクチャだけで構成されたストリームに対して実行されるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。 The second codec processing means may be caused to execute decoding processing, and the control means may determine whether or not the decoding processing is executed for a stream composed of only I pictures. Based on this, in the plurality of first codec processing means included in the second codec processing means, it is determined whether to process different screens or to divide one screen and execute codecs in each of them. Can be.
前記第2のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理が、デコード処理の負荷の低い所定の再生処理であるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。 The second codec processing means can be caused to execute a decoding process, and the control means determines whether the decoding process is a predetermined reproduction process with a low load of the decoding process. Further, in the plurality of first codec processing means included in the second codec processing means, it is determined whether to process different screens or to divide one screen and execute codecs in each of them. Can be.
前記第2のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理がフレームごとに間引いて実行されるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。 The second codec processing means may be caused to execute decoding processing, and the control means may be configured to execute the second processing based on whether or not the decoding processing is executed by thinning out every frame. In the plurality of first codec processing means included in the codec processing means, it is possible to determine whether to process different screens or to divide one screen and execute the codec in each of them. .
前記第2のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理が、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理であるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。 The second codec processing means may be caused to execute decoding processing, and the control means may be configured to perform decoding processing for reverse playback, high speed playback, or scrub playback. Based on whether or not there is, the plurality of first codec processing means included in the second codec processing means respectively process different screens or divide one screen and execute codecs in each. It can be made to decide whether to make it.
前記第2のコーディック処理手段には、エンコード処理を実行させるようにすることができ、前記制御手段には、前記エンコード処理におけるプロファイルおよびレベルを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。 The second codec processing means may be caused to execute an encoding process, and the control means includes the second codec processing means included in the second codec processing means based on a profile and a level in the encoding process. In the plurality of first codec processing means, it is possible to determine whether to process different screens or to divide one screen and execute the codec in each of them.
前記第2のコーディック処理手段の前記第1のコーディック処理手段には、前記画面の所定の領域のコーディックを実行するコーディック実行手段と、自分自身の処理の結果得られた参照用の画素データのうち、他の前記第1のコーディック処理手段のコーディック処理に必要な画素データを他の前記第1のコーディック処理手段に供給するとともに、他の前記第1のコーディック処理手段において実行されたコーディック処理により得られた参照用の画素データのうち、自分自身の処理に必要な画素データを、他の前記第1のコーディック処理手段から取得する画素データ授受手段とを備えさせるようにすることができ、前記コーディック実行手段には、自分自身の処理の結果得られた画素データ、および、前記画素データ授受手段により他の前記第1のコーディック処理手段から取得した画素データを参照することによりコーディック処理を実行させるようにすることができる。 The first codec processing means of the second codec processing means includes codec execution means for executing codecs in a predetermined area of the screen, and reference pixel data obtained as a result of own processing. The pixel data necessary for the codec processing of the other first codec processing means is supplied to the other first codec processing means and obtained by the codec processing executed in the other first codec processing means. Among the reference pixel data, the pixel data necessary for its own processing can be provided with pixel data exchanging means for acquiring the pixel data from the other first codec processing means. The execution means includes pixel data obtained as a result of its own processing, and the pixel data transfer means. It may be so as to execute the codec processing by referring to the pixel data obtained from the first codec processing means.
前記コーディック実行手段により実行されるコーディック処理の結果得られた画素データ、または、前記画素データ授受手段により他の前記第1のコーディック処理手段から取得した画素データの記憶部への記憶を制御する記憶制御手段を更に備えさせるようにすることができ、前記コーディック実行手段には、前記記憶制御手段により前記記憶部への記憶が制御された画素データを参照することによりコーディック処理を実行せるようにすることができる。 Memory for controlling storage of pixel data obtained as a result of codec processing executed by the codec execution unit or pixel data acquired from the other first codec processing unit by the pixel data transfer unit to the storage unit A control means may be further provided, and the codec execution means may execute codec processing by referring to pixel data whose storage in the storage unit is controlled by the storage control means. be able to.
他の前記第1のコーディック処理手段のコーディック処理に必要な画素データは、前記画面において、他の前記第1のコーディック処理手段によりコーディックされる他の所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができ、前記コーディック実行手段のコーディック処理に必要な画素データは、前記画面において、前記コーディック実行手段がコーディックする前記所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができる。 The pixel data necessary for the codec processing of the other first codec processing means is relative to a motion compensation reference area included in another predetermined area coded by the other first codec processing means on the screen. The pixel data may be pixel data included in a motion vector search range, and the pixel data necessary for the codec processing of the codec execution unit is included in the predetermined area that the codec execution unit codec on the screen. Pixel data included in a motion vector search range with respect to a motion compensation reference area.
本発明の一側面の画像処理方法は、1画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段を用いて、コーディックを実行する画像処理方法であって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定するステップを含む。 An image processing method according to an aspect of the present invention is an image processing method for executing codec using a plurality of codec processing units that can divide and process one screen, and the degree of difficulty of codec processing. And a step of determining whether the plurality of codec processing means process different screens or divide one screen and execute the codec in each screen.
本発明の一側面のプログラムは、1画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段を用いたコーディック処理をコンピュータに実行させるためのプログラムであって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定するステップを含む処理をコンピュータに実行させる。 A program according to one aspect of the present invention is a program for causing a computer to execute codec processing using a plurality of codec processing units that can divide and process each screen, and the degree of difficulty of the codec processing Based on the above, the plurality of codec processing means cause the computer to execute a process including a step of determining whether to process different screens or to divide one screen and execute the codec in each of them.
本発明の第一側面においては、コーディック処理の難易度を基に、画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかが決定される。 In the first aspect of the present invention, based on the difficulty level of the codec processing, a plurality of codec processing means that can divide the screen and process each of them, each processing a different screen, or one screen It is determined whether or not the codec is executed in each of them.
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。 The network is a mechanism in which at least two devices are connected and information can be transmitted from one device to another device. The devices that communicate via the network may be independent devices, or may be internal blocks that constitute one device.
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。 The communication is not only wireless communication and wired communication, but also communication in which wireless communication and wired communication are mixed, that is, wireless communication is performed in a certain section and wired communication is performed in another section. May be. Further, communication from one device to another device may be performed by wired communication, and communication from another device to one device may be performed by wireless communication.
画像処理装置は、独立した装置であっても良いし、他の装置のうちの画像処理を行うブロックであっても良い。 The image processing apparatus may be an independent apparatus, or may be a block that performs image processing among other apparatuses.
画像処理装置は、復号処理装置として独立した装置であっても良いし、他の装置のうちの復号処理を行うブロックであっても良い。 The image processing device may be an independent device as a decoding processing device, or may be a block that performs decoding processing among other devices.
また、画像処理装置は、符号化処理装置として独立した装置であっても良いし、他の装置のうちの符号化処理を行うブロックであっても良い。 Further, the image processing apparatus may be an independent apparatus as an encoding processing apparatus, or may be a block that performs an encoding process among other apparatuses.
以上のように、本発明の第一側面によれば、コーディックを実行することができ、特に、コーディック処理の難易度を基に、画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができるので、符号化や復号の処理を、高速に、または、高性能に行うことができる。 As described above, according to the first aspect of the present invention, it is possible to execute a codec, and in particular, based on the difficulty level of the codec process, a plurality of codecs that can divide the screen and process each of them. In the processing means, it is possible to determine whether to process different screens or to divide one screen and execute codecs in each, so that encoding and decoding processing can be performed at high speed or high performance. Can be done.
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. Correspondences between constituent elements of the present invention and the embodiments described in the specification or the drawings are exemplified as follows. This description is intended to confirm that the embodiments supporting the present invention are described in the specification or the drawings. Therefore, even if there is an embodiment which is described in the specification or the drawings but is not described here as an embodiment corresponding to the constituent elements of the present invention, that is not the case. It does not mean that the form does not correspond to the constituent requirements. Conversely, even if an embodiment is described here as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.
本発明の第1の側面の画像処理装置は、1画面を分割してそれぞれで処理させることが可能な複数の第1のコーディック処理手段(例えば、図8の#1デコードチップ73および#2デコードチップ76、もしくは、図24の#1エンコードチップ173および#2エンコードチップ176)を含む第2のコーディック処理手段(例えば、図8の復号処理部51、または、図24の符号化処理部52)と、前記第2のコーディック処理手段により実行されるコーディック処理の難易度を基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する制御手段(例えば、図6のCPU40または図7の制御部61)とを備える。
The image processing apparatus according to the first aspect of the present invention has a plurality of first codec processing means (for example, # 1
前記第2のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理がIピクチャだけで構成されたストリームに対して実行されるか否か(例えば、図17のステップS2の判断)を基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。 The second codec processing means can execute a decoding process, and the control means determines whether or not the decoding process is executed for a stream composed only of I pictures (for example, FIG. 17). Based on the determination in step S2, the plurality of first codec processing units included in the second codec processing unit respectively process different screens, or divide one screen and perform codecs in each. You can decide what to do.
前記第2のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理が、デコード処理の負荷の低い所定の再生処理(例えば、M=3のLongGOPに対する3倍速再生)であるか否か(例えば、図17のステップS5の判断)を基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。 The second codec processing means can execute a decoding process, and the control means can perform a predetermined playback process with a low load of the decoding process (for example, triple-speed playback for a LongGOP with M = 3). ) (For example, determination in step S5 in FIG. 17), the plurality of first codec processing units included in the second codec processing unit may process different screens, respectively. Alternatively, it is possible to determine whether to divide one screen and execute the codec in each.
前記第2のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理がフレームごとに間引いて実行されるか否かを基に(例えば、図17のステップS3のタイムラインのスケールが大きいか否かを基に)、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。 The second codec processing means can execute a decoding process, and the control means determines whether or not the decoding process is executed by thinning out every frame (for example, in step S3 in FIG. 17). Based on whether the scale of the timeline is large), the plurality of first codec processing means included in the second codec processing means each process different screens or divide one screen. Each of them can decide whether to execute the codec.
前記第2のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理が、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理であるか否か(例えば、図17のステップS4の判断)を基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。 The second codec processing means can execute a decoding process, and the control means determines whether the decoding process is a decoding process for backward reproduction, high-speed reproduction, or scrub reproduction ( For example, based on the determination in step S4 of FIG. 17, each of the plurality of first codec processing units included in the second codec processing unit may process different screens or divide one screen. Each of them can decide whether to execute the codec.
前記第2のコーディック処理手段は、エンコード処理を実行することができ、前記制御手段は、前記エンコード処理におけるプロファイルおよびレベルを基に(例えば、図25のステップS102の判断)、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。 The second codec processing means is capable of executing an encoding process, and the control means is based on the profile and level in the encoding process (for example, the determination in step S102 of FIG. 25), In the plurality of first codec processing means included in the processing means, it is possible to determine whether to process different screens or to divide one screen and execute codecs in each of them.
前記第2のコーディック処理手段の前記第1のコーディック処理手段は、前記画面の所定の領域のコーディックを実行するコーディック実行手段(例えば、図8のデコーダ93またはデコーダ113、もしくは、図24のエンコーダ193またはエンコーダ213)と、自分自身の処理の結果得られた参照用の画素データのうち、他の前記第1のコーディック処理手段のコーディック処理に必要な画素データを他の前記第1のコーディック処理手段に供給するとともに、他の前記第1のコーディック処理手段において実行されたコーディック処理により得られた参照用の画素データのうち、自分自身の処理に必要な画素データを、他の前記第1のコーディック処理手段から取得する画素データ授受手段(例えば、図8のチップ間インタフェース96または116、もしくは、図24のチップ間インタフェース196または216)とを備えることができ、前記コーディック実行手段は、自分自身の処理の結果得られた画素データ、および、前記画素データ授受手段により他の前記第1のコーディック処理手段から取得した画素データを参照することによりコーディック処理を実行することができる。
The first codec processing means of the second codec processing means is a codec execution means (for example, the
前記コーディック実行手段により実行されるコーディック処理の結果得られた画素データ、または、前記画素データ授受手段により他の前記第1のコーディック処理手段から取得した画素データの記憶部への記憶を制御する記憶制御手段(例えば、図8の美で0バッファ75または78、もしくは、図24のストリーム/参照画バッファ175または178)を更に備えることができ、前記コーディック実行手段は、前記記憶制御手段により前記記憶部への記憶が制御された画素データを参照することによりコーディック処理を実行することができる。
Memory for controlling storage of pixel data obtained as a result of codec processing executed by the codec execution unit or pixel data acquired from the other first codec processing unit by the pixel data transfer unit to the storage unit Control means (for example, the 0
他の前記第1のコーディック処理手段のコーディック処理に必要な画素データは、前記画面において、他の前記第1のコーディック処理手段によりコーディックされる他の所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができ、前記コーディック実行手段のコーディック処理に必要な画素データは、前記画面において、前記コーディック実行手段がコーディックする前記所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができる。 The pixel data necessary for the codec processing of the other first codec processing means is relative to a motion compensation reference area included in another predetermined area coded by the other first codec processing means on the screen. The pixel data may be pixel data included in a motion vector search range, and the pixel data necessary for the codec processing of the codec execution unit is included in the predetermined area that the codec execution unit codec on the screen. Pixel data included in a motion vector search range with respect to a motion compensation reference area.
本発明の一側面の情報処理方法は、1画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段(例えば、図8の#1デコードチップ73および#2デコードチップ76、もしくは、図24の#1エンコードチップ173および#2エンコードチップ176)を用いて、コーディックを実行する画像処理方法であって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する(例えば、図17のステップS2乃至ステップS7の処理、または、図25のステップS102乃至ステップS104の処理)ステップを含む。
An information processing method according to one aspect of the present invention includes a plurality of codec processing units (for example, # 1
本発明の一側面のプログラムは、1画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段(例えば、図8の#1デコードチップ73および#2デコードチップ76、もしくは、図24の#1エンコードチップ173および#2エンコードチップ176)を用いたコーディック処理をコンピュータに実行させるためのプログラムであって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する(例えば、図17のステップS2乃至ステップS7の処理、または、図25のステップS102乃至ステップS104の処理)ステップを含む処理をコンピュータに実行させる。
The program according to one aspect of the present invention includes a plurality of codec processing units (for example, # 1
以下、図を参照して、本発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図6は本発明を適用した編集装置21のハードウェア構成を示すブロック図である。
FIG. 6 is a block diagram showing a hardware configuration of the
CPU(Central Processing Unit)31は、ノースブリッジ32に接続され、例えば、HDD(Hard disk Drive)36に記憶されているデータの読み出しなどの処理を制御したり、CPU40が実行する編集処理を制御するための制御信号やコマンドを生成し、出力する。また、CPU31は、ユーザに操作入力を促すためのGUI(Graphical User Interface)を提供したり、処理結果を表示出力するための画面の表示を制御することも可能であり、図示しない操作入力部から、表示された画像を参照したユーザの操作入力を受け、ユーザの操作入力を基に、エンコードまたはデコード処理を制御するためのコマンドを発生する。
A CPU (Central Processing Unit) 31 is connected to the
ノースブリッジ32は、PCIバス(Peripheral Component Interconnect/Interface)34に接続され、例えば、CPU31の制御に基づいて、サウスブリッジ35を介して、HDD36に記憶されているデータの供給を受けて、PCIバス34、PCIブリッジ37を介して、メモリ38に供給する。また、ノースブリッジ32は、メモリ33とも接続されており、CPU31の処理に必要なデータを授受する。
The
メモリ33は、CPU31が実行する処理に必要なデータを保存する。サウスブリッジ35は、HDD36のデータの書き込みおよび読み出しを制御する。HDD36には、非圧縮のベースバンド信号または符号化データが記憶される。
The
PCIブリッジ37は、メモリ38のデータの書き込みおよび読み出しを制御したり、デコーダユニット42への符号化ストリームの供給、または、セレクタ43への非圧縮データの供給を制御するとともに、PCIバス34およびコントロールバス39のデータの授受を制御する。メモリ38は、PCIブリッジ37の制御に基づいて、HDD36により読み出されたベースバンド信号または符号化データや、エンコーダユニット44から供給される処理後の符号化データを記憶する。
The
CPU40は、ノースブリッジ32、PCIバス34、PCIブリッジ37、および、コントロールバス39を介して、CPU31から供給された制御信号やコマンドにしたがって、PCIブリッジ37、デコーダユニット42、セレクタ43、および、エンコーダユニット44が実行する処理を制御する。メモリ41は、CPU40の処理に必要なデータを記憶する。
The
デコーダユニット42は、復号処理部51−1乃至51−mの、m個の復号処理部により構成され、CPU40の制御に基づいて、PCIブリッジ37から供給された符号化ストリームをデコードし、セレクタ43に供給する。デコーダユニット42に含まれる復号処理部51−1乃至51−mは、それぞれ、2つのデコーダを有しており、並列して動作させることが可能である。
The
復号処理部51−1乃至51−mは、CPU40の制御に基づいて、それぞれ、2つのデコーダで異なるストリームをデコードすることも可能であるし、1つのストリームのそれぞれのフレームを分割して2つのデコーダで協調してデコードすることも可能である。
Each of the decoding processing units 51-1 to 51-m can also decode different streams with two decoders under the control of the
以下、m個の復号処理部を、それぞれ、#0復号処理部51−1、#1復号処理部51−2、#2復号処理部51−3、・・・#m−1復号処理部51−mと称するものとし、#0復号処理部51−1乃至#m−1復号処理部51−mを個々に区別する必要がない場合、単に、復号処理部51と称する。復号処理部51の詳細な構成については、図8を用いて後述する。
Hereinafter, the m decoding processing units are respectively referred to as # 0 decoding processing unit 51-1, # 1 decoding processing unit 51-2, # 2 decoding processing unit 51-3,... # M-1
セレクタ43は、PCIブリッジ37またはデコーダユニット42から供給された非圧縮のベースバンド信号を、エンコーダユニット44の符号化処理部52−1乃至52−nのうちのいずれかに供給したり、デコーダユニット42から供給された非圧縮のベースバンド信号を、PCIブリッジ37に供給する。
The
エンコーダユニット44は、符号化処理部52−1乃至52−nの、n個の符号化処理部より構成され、CPU40の制御に基づいて、セレクタ43から供給された非圧縮のベースバンド信号をエンコードして、PCIブリッジ37に出力する。エンコーダユニット44に含まれる符号化処理部52−1乃至52−nは、それぞれ2つのエンコーダを有しており、並列して動作することが可能である。
The
符号化処理部52−1乃至52−nは、CPU40の制御に基づいて、それぞれ、2つのエンコーダで異なるビデオデータをエンコードすることも可能であるし、1つのビデオデータのそれぞれの画像データを分割して2つのエンコーダで協調してエンコードすることも可能である。
The encoding processing units 52-1 to 52-n can encode different video data with two encoders based on the control of the
以下、n個のエンコーダを、それぞれ、#0符号化処理部52−1、#1符号化処理部52−2、#2符号化処理部52−3、・・・#n−1符号化処理部52−nと称するものとし、#0符号化処理部52-1乃至#n−1符号化処理部52−nを個々に区別する必要がない場合、単に、符号化処理部52と称する。符号化処理部52の詳細な構成については、図24を用いて後述する。
In the following, n encoders are converted into # 0 encoding processing unit 52-1, # 1 encoding processing unit 52-2, # 2 encoding processing unit 52-3,... # N-1 encoding processing, respectively. When it is not necessary to individually distinguish the # 0 encoding processing unit 52-1 to # n-1 encoding processing unit 52-n, they are simply referred to as the
次に、編集装置21の動作について説明する。
Next, the operation of the
HDD36には、Long GOPのOpen GOP方式で圧縮された、または、全てフレーム内符号化(Intra圧縮)された符号化ストリームや、非圧縮のベースバンド信号が記憶されている。CPU31は、図示しない操作入力部からユーザの操作入力を受け、ユーザの操作入力に基づいて、デコード処理を実行するデータを決定したり、エンコード処理を実行するデータを決定したり、デコードした後、再エンコードを実行するデータを決定する。
The
CPU31は、処理される符号化ストリームまたはベースバンド信号を、ノースブリッジ32、および、PCIバス34を介して、PCIブリッジ37に供給するとともに、コマンドを生成する。そして、CPU31は、デコードまたはエンコードに必要なパラメータがある場合は、そのパラメータとともに、生成されたコマンドを、ノースブリッジ32、PCIバス34、PCIブリッジ37、および、コントロールバス39を介して、CPU40に供給する。
The
CPU40は、PCIブリッジ37を制御して、供給された符号化ストリームまたはベースバンド信号を、メモリ38に保存させ、供給されたコマンドに基づいて、供給されたデータがデコードの必要な符号化ストリームである場合、PCIブリッジ37を制御して、符号化ストリームをデコーダユニット42に供給させ、供給されたデータがデコードの不必要なベースバンド信号である場合、PCIブリッジ37を制御して、ベースバンド信号をセレクタ43に供給させる。
The
デコーダユニット42に含まれる復号処理部51−1乃至51−mの全部または一部は、並列して動作することが可能である。CPU40は、デコーダユニット42を制御して、デコード処理を実行させ、デコードされて生成された、非圧縮のベースバンド信号をセレクタ43に供給させる。CPU40は、例えば、デコード処理されるストリームが全てIピクチャであるか、I,B,PピクチャからなるLongGOPであるか、または、早送りや巻き戻し、スクラブ再生などの特殊再生が実行されるか否かなどの、デコード処理の難易度に基づいて、復号処理部51−1乃至51−mのそれぞれにおいて、2つのデコーダで異なるストリームをデコードするか、1つのストリームのそれぞれのフレームを分割して2つのデコーダで協調してデコードするかを制御する制御信号を生成して、デコーダユニット42に含まれる復号処理部51−1乃至51−mの対応するものに供給する。
All or part of the decoding processing units 51-1 to 51-m included in the
デコーダユニット42を構成する復号処理部51−1乃至51−mは、CPU40の制御に基づいて、供給されたデータをデコードし、非圧縮のベースバンド信号をセレクタ43に供給する。復号処理部51−1乃至51−mは、CPU40の制御に基づいて、それぞれ、2つのデコーダで異なるストリームをデコードすることも可能であるし、1つのストリームのそれぞれのフレームを分割して2つのデコーダで協調してデコードすることも可能である。
The decoding processing units 51-1 to 51-m constituting the
CPU40は、CPU31から供給されたコマンドに基づいて、セレクタ43を制御し、セレクタ43に供給されたベースバンド信号を、PCIブリッジ37を介して、メモリ38に供給させるか、または、エンコーダユニット44の符号化処理部52に供給させる。セレクタ43は、CPU40の制御に基づいて、供給されたベースバンド信号を、PCIブリッジ37を介して、メモリ38に供給するか、または、符号化処理部52に供給する。
The
CPU40は、CPU31から供給されたコマンドに基づいて、エンコーダユニット44を制御して、エンコードされて生成された符号化ストリームをPCIブリッジ37に供給させる。エンコーダユニット44に含まれる符号化処理部52−1乃至52−nの全部または一部は、並列して動作することが可能である。CPU40は、例えば、エンコードのプロファイルレベルなど、エンコードの難易度に基づいて、2つのエンコーダで異なるビデオデータをエンコードするか、1つのビデオデータのそれぞれの画像データを分割して2つのエンコーダで協調してエンコードするかを制御する制御信号を生成し、エンコーダユニット44に含まれる符号化処理部52−1乃至52−nの対応するものに供給する。
The
エンコーダユニット44を構成する符号化処理部52−1乃至52−nのうち、ベースバンド信号の供給を受けた符号化処理部52は、CPU40の制御に基づいて、供給されたデータをエンコードする。符号化処理部52は、CPU40の制御に基づいて、それぞれ、2つのエンコーダで異なるストリームをエンコードすることも可能であるし、1つのストリームのそれぞれのフレームを分割して2つのエンコーダで協調してエンコードすることも可能である。
Of the encoding processing units 52-1 to 52-n constituting the
CPU40は、CPU31から供給されたコマンドに基づいて、PCIブリッジ37を制御して、符号化処理部52から供給された符号化ストリームをメモリ38に保存させる。
The
CPU40は、コントロールバス39、PCIブリッジ37、PCIバス34、および、ノースブリッジ32を介して、CPU31に、供給されたコマンド処理に基づいたデータのコーディック処理が終了したことを通知する。CPU31は、ノースブリッジ32、PCIバス34、および、PCIブリッジ37を介して、メモリ38からコーディック後のデータを読み出し、ノースブリッジ32およびサウスブリッジ35を介して、HDD36に格納させたり、図示しないインタフェースを介して、外部の機器などに出力させる。
The
次に、図7は、図6の編集装置21が有する主な機能の構成について説明するための機能ブロック図である。なお、図7において、図6における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
Next, FIG. 7 is a functional block diagram for explaining a configuration of main functions of the
編集装置21は、制御部61、取得部62、デコーダユニット42、セレクタ43、エンコーダユニット44、および、記憶・出力部63を含んで構成される。
The
制御部61は、CPU31およびCPU40に対応し、編集装置21の各部を制御する。取得部62は、制御部61の制御に基づいて、HDD36またはメモリ38から処理されるデータを取得して、デコード処理が必要な部分は、デコーダユニット42に供給し、エンコード処理が必要な部分は、セレクタ43に供給する。圧縮符号化ストリーム、または、非圧縮のベースバンド信号が記憶されるHDD36またはメモリ38が取得部62に含まれるものとしてもよいし、HDD36またはメモリ38、もしくは、編集装置21に接続されている他の装置から、圧縮符号化ストリーム、または、非圧縮のベースバンド信号を取得するPCIブリッジ37が、取得部62に含まれるものとしてもよい。
The
デコーダユニット42に含まれる複数の復号処理部51は、取得部62から供給された圧縮素材映像データをデコードし、その結果として得られた非圧縮のベースバンド信号を、セレクタ43に供給する。セレクタ43は、制御部61の制御に基づいて、デコーダユニット42または取得部62から供給された非圧縮のベースバンド信号を、エンコーダユニット44または記憶・出力部63に供給する。
The plurality of
エンコーダユニット44に含まれる複数の符号化処理部52は、制御部61の制御に基づいて、セレクタ43から供給された非圧縮のベースバンド信号をエンコードする。
The plurality of
記憶・出力部63は、デコーダユニット42においてデコードされて生成された比圧縮のベースバンド信号、または、エンコーダユニット44においてエンコードされて生成された符号化ストリームを記憶または出力するものであり、例えば、HDD36またはメモリ38が記憶・出力部63に含まれるものとしてもよいし、HDD36またはメモリ38、もしくは、編集装置21に接続されている他の装置へ、圧縮符号化ストリームを出力するPCIブリッジ37が、取得部62に含まれるものとしてもよい。
The storage /
図8は、復号処理部51の構成を示すブロック図である。ここでは、復号処理部51は、MPEG2方式で符号化された符号化ストリームの供給を受け、復号して出力することができるようになされているものとして説明する。
FIG. 8 is a block diagram illustrating a configuration of the
復号処理部51は、コントローラ71、入力信号選択部72、#1デコードチップ73、ストリームバッファ74、ビデオバッファ75、#2デコードチップ76、ストリームバッファ77、ビデオバッファ78、合成処理部79、および、出力信号選択部80で構成されている。復号処理部51には、3つ以上のデコードチップを備えるようにしても良いが、ここでは、#1デコードチップ73および#2デコードチップ76の2つのデコードチップが備えられているものとして説明する。
The
コントローラ71は、ユーザの操作入力、または、外部の装置から供給される制御信号、を基に、復号処理部51の動作を制御するものである。
The
すなわち、コントローラ71は、CPU40の制御に基づいて、デコード処理の難易度が高い場合においては、#1デコードチップ73および#2デコードチップ76を用いて、1フレームを2分割してそれぞれデコード処理を行い、生成された分割された画像を合成して出力し、デコード処理の難易度が比較的低い場合においては、#1デコードチップ73および#2デコードチップ76で、それぞれ異なるストリームをデコードさせるようにすることができる。
That is, based on the control of the
デコード処理の難易度は、例えば、デコード処理されるストリームが全てIピクチャであるか、I,B,PピクチャからなるLongGOPであるか、または、早送りや巻き戻し、スクラブ再生などの特殊再生が実行されるか否か、または、特殊再生の条件などによって決まる。 Decoding processing difficulty level is, for example, whether all streams to be decoded are I pictures, Long GOPs consisting of I, B, P pictures, or special playback such as fast forward, rewind, scrub playback, etc. It depends on whether or not it is performed or the condition of special reproduction.
また、上述したように、編集装置21においては、ユーザに操作入力を促すためのGUI(Graphical User Interface)を提供したり、処理結果を表示出力するための画面の表示を制御することができるようになされており、例えば、図9に示されるような編集画面の表示が制御され、編集画面を参照したユーザからの操作入力を受けることができるようになされている。
As described above, the
図9に示される編集画面131は、CPU31の制御に基づいて、図示しない表示装置または表示部に表示されるものであり、例えば、複数のストリームデータをランダムに再生させて所望の編集点を検出し、所望の編集点において、異なるストリームデータを接続させるなどの編集処理を実行するための、各種GUIを提供するものである。
The
例えば、ユーザにより選択されたストリームデータは、デコーダユニット42の復号処理部51−1乃至51−mのいずれかにおいてデコード(復号)された後、再生ウィンドウ141において表示される。
For example, the stream data selected by the user is displayed in the
ストリームデータの再生位置は、ユーザの操作入力に基づいて、再生ウィンドウ141の下部に設けられているスクラブバー151のポインタ152の位置が移動されることにより設定される。また、タイムラインウィンドウ142にも、例えば、ビデオストリームやオーディオストリーム中の時間軸における再生位置をユーザに通知したり、ユーザが再生位置を指令することができるようになされているタイムライン153が設けられており、ユーザの操作入力に基づいて、タイムライン153のポインタ152の位置が移動されることにより、再生位置を変更する(スクラブ再生を実行させる)ことができるようになされている。
The playback position of the stream data is set by moving the position of the pointer 152 of the
図9を用いて説明した編集画面131を参照したユーザから、デコード対象ストリームの選択と、再生開始位置の指定、すなわち、スクラブバー151のポインタ152、または、タイムライン153のポインタ152の操作が入力される。このような操作入力により、ユーザが任意の位置の映像を表示させることは、スクラブ再生と称される。CPU31は、ユーザの操作入力に基づいて、再生されるストリームのStream No.と、再生開始位置のFrame No.を求め、再生速度などの指令とともに、ノースブリッジ32、PCIバス34、PCIブリッジ37、および、コントロールバス39を介して、CPU20に供給する。
The user who has referred to the
スクラブ操作では、スライダの移動から映像の表示まで例えば、200ミリ秒以内などの即時応答性が要求される。短時間での映像表示がスクラブ操作の操作快適性を決定しており、スクラブ時にはより高速なデコード処理が要求される。IPBピクチャで構成されたストリームの場合、任意の位置の映像を表示するのに、関連するすべてのピクチャをデコードする必要がある。したがって、スクラブ再生が実施される場合、デコード処理の処理量が大きいため、1チャンネルにデコーダ2個を割り当て、画面を分割してデコードをさせることで、映像表示までの時間を短縮するようになされる。 In the scrub operation, an immediate response such as within 200 milliseconds is required from the movement of the slider to the display of the video. The video display in a short time determines the operational comfort of the scrub operation, and higher speed decoding processing is required during scrubbing. In the case of a stream composed of IPB pictures, it is necessary to decode all related pictures in order to display a video at an arbitrary position. Accordingly, when scrub playback is performed, since the amount of decoding processing is large, two decoders are allocated to one channel, and the screen is divided and decoded to shorten the time until video display. The
また、例えば、スクラブバー151またはタイムライン153の表示スケールがある一定の値よりも大きい場合、再生のためにデコードされるストリームがLongGOPであっても、スクラブ再生が実行されたとしても、例えば、Iピクチャのみ、または、IおよびPピクチャのみなどの間欠表示が実行されるようになされている場合がある。
Also, for example, when the display scale of the
このような場合、デコード処理の難易度は低いので、#1デコードチップ73および#2デコードチップ76で、それぞれ異なるストリームをデコードさせるようにすると好適である。
In such a case, since the difficulty level of the decoding process is low, it is preferable that the # 1
また、再生モードには、例えば、所定再生位置からの通常再生、早送り、早巻き戻し、正逆方向のコマ送り、静止画像の表示などがあり、早送りや早巻き戻しなどのスピードや、コマ送りのコマ間隔なども、それぞれ設定可能なようになされている。 In addition, playback modes include, for example, normal playback from a predetermined playback position, fast forward, fast rewind, forward / reverse frame advance, still image display, etc. Each frame interval can be set individually.
これらの再生モードによっても、デコード処理の難易度は異なるため、復号処理部51においては、デコード処理の難易度が高い場合においては、#1デコードチップ73および#2デコードチップ76を用いて、1フレームを2分割してそれぞれデコード処理を行わせて、生成された分割された画像を合成して出力させ、デコード処理の難易度が比較的低い場合においては、#1デコードチップ73および#2デコードチップ76で、それぞれ異なるストリームをデコードさせるようにすることができる。#1デコードチップ73および#2デコードチップ76を用いて、1フレームを2分割してそれぞれデコード処理を行うことを、分割デコード処理と称するものとする。
Since the difficulty level of the decoding process is different depending on these playback modes, the
例えば、ノンリニア編集機は、タイムライン画面に複数のビデオトラックに対応するアイコンなどを表示させ、編集の指令を受けることができるようになされているので、より多くの数のビデオトラックを処理することが要求される。このように、デコード処理の難易度により1つのストリームをデコードするために用いられるチップ数を変更することができるようにすることにより、例えば、安価なデコードチップが用いられた場合においても、スクラブ処理などにおいて処理が間に合わなくなってしまうようなことなく、通常の再生などの場合には、ビデオトラックの数を増加させることが可能となる。 For example, non-linear editing machines display icons corresponding to multiple video tracks on the timeline screen so that they can receive editing commands, so they can process a larger number of video tracks. Is required. As described above, the number of chips used for decoding one stream can be changed depending on the difficulty level of the decoding process. For example, even when an inexpensive decoding chip is used, the scrub process is performed. In the case of normal reproduction or the like, the number of video tracks can be increased without causing the processing to be in time.
またスクラブ以外の通常再生の場合でも、タイムラインでのビデオトラック数の要求が、1チャンネルにデコーダ2個を割り当てた場合のチャンネル数を下回っている場合には、1チャンネルにデコーダを2個割り当てたままとすると好適である。これにより、デコーダの切り替えにかかるオーバーヘッド時間を短縮させることが可能となる。 Even in normal playback other than scrubbing, if the request for the number of video tracks on the timeline is less than the number of channels when two decoders are assigned to one channel, two decoders are assigned to one channel. It is preferable to leave it as it is. Thereby, it is possible to reduce the overhead time required for switching the decoder.
入力信号選択部72は、コントローラ71の制御に基づいて、分割デコード処理が実行されない場合、#1デコードチップ73に供給されるストリームとは異なるストリームを#2デコードチップ76に供給し、分割デコード処理が実行される場合、#1デコードチップ73に供給されるストリームと同一のストリームの供給を受け、#2デコードチップ76に供給する。
Based on the control of the
#1デコードチップ73および#2デコードチップ76は、分割デコード処理を実行する場合、それぞれ、供給されたピクチャのうちの自分自身がデコードする部分を認識して、デコード処理を実行する。
When executing the divided decoding process, the # 1
ピクチャの分割の仕方は、例えば、図10においてAに示されるように、入力ストリームに含まれるピクチャのそれぞれを、スライスを単位としてデコードチップの個数分(ここでは2つ)に分割したり、図10においてBに示されるように、入力ストリームに含まれるピクチャのそれぞれを縦にデコードチップの個数分(ここでは2つ)に分割したり、図10においてCに示されるように、入力ストリームに含まれるピクチャのそれぞれを、斜めにデコードチップの個数分(ここでは2つ)に分割する(しかしながら、例えば、デコード方式がMPEG2などである場合には、縦や斜めの分割は、スライス単位の分割と比較して困難であるかもしれない)などの方法がある。 For example, as shown in FIG. 10A, each picture included in the input stream is divided into the number of decoding chips (two in this case) in units of slices. 10, each picture included in the input stream is vertically divided into the number of decoding chips (two in this case) as shown in B, or included in the input stream as shown in C in FIG. 10. Each picture to be decoded is divided into the number of decoding chips diagonally (in this case, two) (however, when the decoding method is MPEG2 or the like, for example, vertical or diagonal division is divided into slice units). It may be difficult to compare).
MPEG2ビデオストリームにおいて、それぞれ、スライスは同一の水平行に位置する一連のマクロブロックであることが規定されており、各スライスに対する垂直位置は、slice_start_code内に示されている。そこで、#1デコードチップ73および#2デコードチップ76は、例えば、1枚のピクチャを、スライスを単位としてデコードチップの個数分に分割するとき、スライススタートコードを基にして、各フレームを分割し、自分自身がデコードすべき領域を認識することができる。
In the MPEG2 video stream, it is specified that each slice is a series of macroblocks located in the same horizontal row, and the vertical position for each slice is indicated in slice_start_code. Therefore, for example, when the # 1
ここでは、#1デコードチップ73および#2デコードチップ76は、それぞれ、供給されたピクチャのうちの自分自身がデコードする部分を認識して、デコード処理を実行するものとして説明したが、例えば、供給されたストリームのそれぞれのフレームが、図10を用いて説明したように予め分割され、#1デコードチップ73および#2デコードチップ76に供給されるものとしても良い。
Here, it has been described that the # 1
なお、入力ストリームに含まれるピクチャのそれぞれをデコードチップの個数より多く分割して、その複数の分割されたピクチャを備えられているデコードチップの個数に分けて、供給するようにしても良いが、図10に示したように、入力ストリームに含まれるピクチャのそれぞれをデコードチップの個数のまとまった(分離されていない)デコード単位に分割するほうが、それぞれのデコードチップにおいてデコードされる領域の中の他のデコードチップのデコードにおいて参照される画像領域の割合が少なくなるので、後述する参照部分の画素のデコードチップ間の授受の処理が複雑にならないので好適である。 Note that each of the pictures included in the input stream may be divided more than the number of decode chips, and divided into the number of decode chips provided with the plurality of divided pictures. As shown in FIG. 10, dividing each of the pictures included in the input stream into the decoding units in which the number of decoding chips is integrated (not separated) is different from the area decoded in each decoding chip. Since the ratio of the image area to be referred to in the decoding of the decoding chip is reduced, it is preferable that the process of exchanging between the decoding chips of the pixels of the reference portion described later is not complicated.
なお、ピクチャの分割の方法は、等分割であっても、不等分な分割であっても良い。コントローラ71に、例えば、画像の複雑さを検出する機能を備えるようにして、分割デコード処理が実行され、ピクチャの部分によって画像の複雑さが著しく異なっているような場合、画像の複雑さ(符号化難易度)に基づいて、ピクチャの分割幅(図10における図中のaおよびb)を決定することができるようにしても良い。
Note that the method of dividing the picture may be equal division or unequal division. For example, when the
#1デコードチップ73は、ストリーム入力回路91、バッファ制御回路92、デコーダ93、動き補償回路94、バッファ制御回路95、チップ間インタフェース(I/F)96、および、出力回路97から構成され、コントローラ71の制御に基づいて、供給されたピクチャの全体、または、所定の部分をデコードする。分割デコード処理が実行されるとき、#1デコードチップ73は、#2デコードチップ76のデコード処理の参照画像として必要となる可能性のある領域の画素データを#2デコードチップ76に供給するとともに、#2デコードチップ76から供給されるデコード済みの画素データをビデオバッファ75に供給して記憶させ、必要に応じて参照することにより、デコード処理を実行する。
The # 1
ストリームバッファ74は、例えば、DRAM(Dynamic Random Access Memory)などにより構成され、#1デコードチップ73に供給された符号化ストリームを一時保存する。ビデオバッファ75は、例えば、DRAMなどにより構成され、#1デコードチップ73においてデコードされたビデオ信号(画素データ)や、#2デコードチップ76から供給されたデコード済みのビデオ信号(画素データ)の供給を受けて、一時保存する。
The
#2デコードチップ76は、ストリーム入力回路111、バッファ制御回路112、デコーダ113、動き補償回路114、バッファ制御回路115、チップ間インタフェース(I/F)116、および、出力回路117から構成され、コントローラ71の制御に基づいて、供給されたピクチャの全体、または、所定の部分をデコードする。分割デコード処理が実行されるとき、#2デコードチップ76は、#1デコードチップ73のデコード処理の参照画像として必要となる領域の画素データを#1デコードチップ73に供給するとともに、#1デコードチップ73から供給されるデコード済みの画素データをビデオバッファ78に供給して記憶させ、必要に応じて参照することにより、デコード処理を実行する。
The # 2
ストリームバッファ77は、例えば、DRAMなどにより構成され、#2デコードチップ76に供給された符号化ストリームを一時保存する。ビデオバッファ78は、例えば、DRAMなどにより構成され、#2デコードチップ76においてデコードされたビデオ信号(画素データ)や、#1デコードチップ73から供給されたデコード済みのビデオ信号(画素データ)の供給を受けて、一時保存する。
The
合成処理部79は、分割デコード処理が実行された場合、#1デコードチップ73および#2デコードチップ76から、デコード済みの画素データの供給を受け、合成し、出力信号選択部80に供給する。出力信号選択部80は、分割デコード処理が実行されない場合、#1デコードチップ73の出力を選択し、分割デコード処理が実行された場合、合成処理部79の出力を選択して、復号ビデオデータとして出力する。
When the division decoding process is executed, the
また、分割デコード処理が実行されない場合、#2デコードチップ76からの出力は、そのまま出力されるが、分割デコード処理が実行される場合、#2デコードチップ76からの出力は合成処理部79に供給され、出力されない。
When the division decoding process is not executed, the output from the # 2
次に、#1デコードチップ73の構成および動作について説明する。
Next, the configuration and operation of the # 1
ストリーム入力回路91は、分割デコード処理が実行されない場合、供給された符号化ストリームをバッファ制御回路92に供給する。バッファ制御回路92は、図示しないクロック発生回路から供給される基本クロックに従って、入力された符号化ストリームをストリームバッファ74に入力する。また、ストリームバッファ74に保存されている符号化ストリームを読み出し、デコーダ93に出力する。
The
デコーダ93は、入力されたストリームをMPEGシンタックスに基づいてデコードし、動き補償回路94に供給する。具体的には、デコーダ93は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路94に出力する。
The
動き補償回路94は、デコーダ93から出力されるマクロブロックが動き補償を使用しているか否かを基に、必要に応じて、バッファ制御回路95を介して、ビデオバッファ75からデコード済みの参照画素データを読み込んで動き補償を行い、画素データを、バッファ制御回路95に供給する。
The
具体的には、デコーダ93から出力されるマクロブロックが動き補償を使用していない場合、動き補償回路94は、その画素データを、バッファ制御回路95を介して、ビデオバッファ75に書き込み、表示出力に備えるとともに、この画素データが、他の画像の参照データとされる場合に備える。
Specifically, when the macroblock output from the
デコーダ93から出力されるマクロブロックが動き補償を使用している場合、動き補償回路94は、デコーダ93から出力される予測ベクトルに従って、バッファ制御回路95を介して、ビデオバッファ75から参照画素データを読み出す。そして、動き補償回路94は、読み出した参照画素データを、デコーダ93から供給された画素データに加算し、動き補償を行う。動き補償回路94は、動き補償を行った画素データを、バッファ制御回路95を介してビデオバッファ75に書き込み、表示出力に備えるとともに、この画素データが、参照データとされる場合に備える。
When the macroblock output from the
バッファ制御回路95は、図示しないクロック発生回路から供給される基本クロックに従って、動き補償回路94から入力された画素データを、ビデオバッファ75に入力する。
The
ストリーム入力回路91は、分割デコード処理が実行される場合、供給された符号化ストリームのうちのデコード処理を行う領域を認識し、バッファ制御回路92に供給する。バッファ制御回路92は、図示しないクロック発生回路から供給される基本クロックに従って、入力された符号化ストリームのフレームの一部をストリームバッファ74に入力する。また、ストリームバッファ74に保存されている符号化ストリームのフレームの一部を読み出し、デコーダ93に出力する。なお、バッファ制御回路92は、ストリームバッファ74に先に書き込まれたデータから順に、スライスを単位として符号化ストリームを読み出し、デコーダ93に出力するようにしてもよいし、後述するように、所定の順番で、スライスを単位として符号化ストリームを読み出し、デコーダ93に出力するようにしてもよい。
When the divided decoding process is executed, the
デコーダ93は、入力されたストリームをMPEGシンタックスに基づいてデコードし、動き補償回路94に供給する。具体的には、デコーダ93は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路94に出力する。
The
動き補償回路94は、デコーダ93から出力されるマクロブロックが動き補償を使用しているか否かを基に、必要に応じて、バッファ制御回路95を介して、ビデオバッファ75からデコード済みの参照画素データを読み込んで、上述した場合と同様にして動き補償を行い、画素データを、バッファ制御回路95に供給する。
The
デコーダ93から出力されるマクロブロックが動き補償を使用している場合、動き補償回路94は、デコーダ93から出力される予測ベクトルに従って、バッファ制御回路95を介して、ビデオバッファ75から参照画素データを読み出す。そして、動き補償回路94は、読み出した参照画素データを、デコーダ93から供給された画素データに加算し、動き補償を行う。動き補償回路94は、動き補償を行った画素データを、バッファ制御回路95を介してビデオバッファ75に書き込み、表示出力に備えるとともに、この画素データが、参照データとされる場合に備える。バッファ制御回路95は、図示しないクロック発生回路から供給される基本クロックに従って、動き補償回路94から入力された画素データを、ビデオバッファ75に入力する。
When the macroblock output from the
バッファ制御回路95はまた、チップ間インタフェース96を介して#2デコードチップ76から供給される画素データを、ビデオバッファ75に入力する。バッファ制御回路95はまた、動き補償回路94から指定された参照画素データを、ビデオバッファ75に保存されている画素データから読み出して、動き補償回路94に供給する。バッファ制御回路95はまた、ビデオバッファ75に保存されている画素データを読み出して、出力回路97に供給する。また、バッファ制御回路95は、ビデオバッファ75に保存されている画素データのうち、#2デコードチップ76のデコード処理の参照画素として用いられる領域(動きベクトルの探索範囲)の画素データを読み出し、チップ間インタフェース96を介して、#2デコードチップ76に供給する。
The
出力回路97は、デコードした画素データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路95を介して、ビデオバッファ75から画素データを読み出し、復号ビデオデータとして出力する。
The
また、#2デコードチップ76のストリーム入力回路111乃至出力回路117の機能は、基本的に、#1デコードチップ73のストリーム入力回路91乃至出力回路97と同一であり、#2デコードチップ76の動作も、基本的に#1デコードチップ73と同一であるので、その詳細な説明は省略する。
The functions of the
そして、#1デコードチップ73のチップ間インタフェース96と#2デコードチップ76のチップ間インタフェース116とのデータの授受は、チップ間インタフェース96からチップ間インタフェース116へデータを供給する、例えば、データバスなどのインタフェースと、チップ間インタフェース116からチップ間インタフェース96へデータを供給する、例えば、データバスなどのインタフェースとがそれぞれ独立したインタフェース(専用線)として、他のデータの授受に用いられないようになされていると好適である。
Data exchange between the
デコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース96からチップ間インタフェース116へデータを供給するインタフェースと、チップ間インタフェース116からチップ間インタフェース96へデータを供給するインタフェースとが、それぞれ独立している(データバスなどのインタフェースを共有していない)場合、バッファ制御回路95によりビデオバッファ75から読み出された画素データは、逆方向の(すなわち、チップ間インタフェース116からチップ間インタフェース96への)データの供給にかかわらず、チップ間インタフェース96からチップ間インタフェース116へ送出可能であり、バッファ制御回路115によりビデオバッファ78から読み出された画素データは、逆方向の(すなわち、チップ間インタフェース96からチップ間インタフェース116への)データの供給にかかわらず、チップ間インタフェース116からチップ間インタフェース96へ送出可能である。すなわち、このような構成においては、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
An interface that connects the decoding chips, that is, an interface that supplies data from the
具体的には、データバスなどのインタフェースを共有している場合、インタフェースが他のデータの授受に用いられている場合の待ち時間が必要となるのみならず、他のデコードチップへデータを送出する前に、アドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを行うための制御信号等をデコードチップ間で授受し、授受した制御信号を基に、データの授受の各種設定を行わなければならないため、これらの処理のための時間が必要となってしまう。これに対して、データバスなどのインタフェースを共有していない場合、他のデータの授受のために待ち時間が発生しないのみならず、データの送出前の処理が必要ではないため、同量のデータを同一の時間で他のデコードチップに送出するのに、データバスなどのインタフェースを共有する場合などと比較して、データの転送速度を低速化することが可能となる。 Specifically, when an interface such as a data bus is shared, not only a waiting time is required when the interface is used to exchange other data, but the data is sent to another decoding chip. Before, send and receive control signals for address control, timing to occupy the data bus, control of data transfer timing, etc. between decode chips, and make various settings for data transfer based on the transferred control signals Since this must be done, time is required for these processes. On the other hand, if the interface such as the data bus is not shared, there is no waiting time for sending / receiving other data, and no processing before sending data is required. Can be transmitted to other decoding chips at the same time, compared to the case where an interface such as a data bus is shared, etc., and the data transfer rate can be reduced.
なお、チップ間インタフェース96とチップ間インタフェース116とを結ぶインタフェースは、例えば、#1デコードチップ73と#2デコードチップ76が実装されている基板上において、それぞれのチップの入出力端子をパターン接続すればよいため、それぞれのパターンを独立して用意しても、そのために必要となるハードウェアの実装上のコストは非常に安価である。
The interface connecting the
次に、図11乃至図14を用いて、分割デコード処理が実行される場合の、#1デコードチップ73と#2デコードチップ76とのデコード済みの画素データの授受について説明する。
Next, transmission / reception of decoded pixel data between the # 1
供給された符号化ストリームのそれぞれのフレームは、例えば、スライスを基準として2つに分割し、#1デコードチップ73と#2デコードチップ76とのそれぞれにおけるデコード処理範囲として認識される。このとき、フレームを細分化することなく、連続した2つの領域にフレームが分割されるようにすると、PピクチャまたはBピクチャのデコード時に参照画素として必要となる画素領域のうち、#2デコードチップ76においてデコードされる画素の領域部分が少なくなるため、好適である。
For example, each frame of the supplied encoded stream is divided into two on the basis of a slice, and is recognized as a decoding processing range in each of the # 1
復号処理部51に供給される圧縮符号化されたストリームデータ(符号化ストリーム)のうち、Iピクチャは、フレーム内符号化(参照画像を有さない)されており、PピクチャまたはBピクチャは、参照画像(Pピクチャをエンコードする場合は、直前のIピクチャまたはPピクチャであり、Bピクチャをエンコードする場合は、前後のIピクチャまたはPピクチャである)の対応するマクロブロックの位置を基準とした所定の領域内でマクロブロックとの誤差を最小にする参照ブロックが探索され、元のマクロブロックと参照マクロブロックの位置のずれである動きベクトルが求められ、動きベクトルと差分により、画が表現されている。
Of the compressed and encoded stream data (encoded stream) supplied to the
MPEGを適用した符号化処理においては、一般的に、マクロブロックとして、16×16画素単位の矩形ブロックが用いられている。なお、本発明を適用した復号処理部51はMPEG以外のフレーム間予測を適用した符号化ストリームのデコード処理を行うことができるようにしてもよく、動き補償の基準領域の大きさは、この限りではない。動き補償の基準領域は、例えば、H.264のように、16×16、16×8、8×16、8×8、8×4、4×8、4×4から選択可能なように設定するようにしてもよい。また、動き補償の基準領域をブロック単位ではなく、他の形状とすることも可能である。また、マクロブロックの参照先の画像データ(参照画)の大きさは、半画素レベルの動きベクトルをとることから、例えば、16×16、17×16、16×17、17×17、16×8、16×9、17×9、17×8などの複数の値をとる。
In an encoding process using MPEG, a rectangular block of 16 × 16 pixel units is generally used as a macroblock. Note that the
#1デコードチップ73または#2デコードチップ76において、PピクチャまたはBピクチャに含まれる所定のマクロブロックがデコードされる場合、予めデコードされている参照画像のマクロブロックの探索範囲の情報が利用される。しかしながら、デコード対象のマクロブロックが#1デコードチップ73で復号する画像領域と#2デコードチップ76で復号する画像領域との境界部分に近い場合、その参照画像として必要となる動きベクトルの探索範囲のうちの一部は、他方のデコードチップにおいてデコードされる画像領域に含まれてしまう。具体的には、図11に示されるように、#2デコードチップ76においてPピクチャまたはBピクチャをデコードする場合、#2デコードチップ76で復号される画像領域(図中、垂直方向の画像範囲がbで示される領域)のうちの#1デコードチップ73で復号される画像領域に近い部分のマクロブロックに対応する探索領域の一部は、#1デコードチップ73で復号される画像領域(図中、垂直方向の画像範囲がaで示される領域)に含まれてしまう。
When a predetermined macroblock included in a P picture or B picture is decoded by the # 1
そこで、#1デコードチップ73と#2デコードチップ76とのそれぞれにおいて必要となる動きベクトルの探索範囲を全て探索可能とするために、#1デコードチップ73と#2デコードチップ76とにおいてデコードされたIピクチャおよびPピクチャのうち、他方のデコード処理において動きベクトルの探索範囲となる可能性のある領域のデータを、予め他方のデコードチップに供給するものとする。
Therefore, the # 1
すなわち、図12に示されるように、#1デコードチップ73においてデコードされたIピクチャおよびPピクチャにおいて、図中、垂直方向の画像範囲がaで示される#1デコードチップ73で復号される画像領域のうち、垂直方向の画像範囲がαで示される領域(#2デコードチップ76で復号される画像領域に近い画像領域)のデータが#2デコードチップ76に供給されて、垂直方向の画像範囲がbで示される#2デコードチップ76で復号される画像領域とともに、ビデオバッファ78において、蓄積ビデオデータとして保存される。
That is, as shown in FIG. 12, in the I picture and P picture decoded by the # 1
また、#2デコードチップ76においてデコードされたIピクチャおよびPピクチャにおいて、図中、垂直方向の画像範囲がbで示される#2デコードチップ76で復号される画像領域のうち、垂直方向の画像範囲がβで示される領域(#1デコードチップ73で復号される画像領域に近い画像領域)のデータが#1デコードチップ73に供給されて、垂直方向の画像範囲がaで示される#1デコードチップ73で復号される画像領域とともに、ビデオバッファ75において、蓄積ビデオデータとして保存される。
Also, in the I picture and P picture decoded by the # 2
図12に示されるαおよびβの範囲は、上述したように、他方のデコード処理において動きベクトルの探索範囲となる可能性のある領域のデータである。動き補償における動きベクトルの探索範囲は、MPEG規定により、水平方向1920pixel垂直1080lineのインタレース方式のフレームデータにおいて、水平方向に±1920pixel(すなわち、最大画枠幅)、垂直方向に128lineであると規定されている。すなわち、復号処理部51において復号される符号化ストリームがMPEG規定により符号化された水平方向1920pixel垂直1080lineのインタレース方式のフレームデータである場合、図12においてα、βとして示されている、他方のデコードチップに供給される(コピーされる)画像領域のライン幅は、128lineとなる。これは、MPEG規定ISO/IEC13818-2表8−8により「レベルに対するパラメータ制約」として規定されている。また、それぞれのピクチャ毎に、f_codeとして示されているので、垂直方向のf_codeで規定されるライン分を参考として、α、βを決定しても良い。
As described above, the ranges of α and β shown in FIG. 12 are data of a region that may be a motion vector search range in the other decoding process. The motion vector search range in motion compensation is defined by the MPEG standard as ± 1920 pixels (that is, the maximum image frame width) in the horizontal direction and 128 lines in the vertical direction in interlace frame data of 1920 pixels in the horizontal direction and 1080 lines in the vertical direction. Has been. That is, when the encoded stream to be decoded by the
ピクチャごとのデコード処理と、#1デコードチップ73と#2デコードチップ76とのデコード処理およびデコード済みの画素データの授受の具体例について、図13乃至図16を用いて説明する。ここでは、それぞれのピクチャのうち、#1デコードチップ73で復号される画像領域を第1の領域、#2デコードチップ76で復号される画像領域で復号される画像領域を第2の領域と称するものとする。
Specific examples of decoding processing for each picture, decoding processing of the # 1
まず、図13に示されるように第1の領域と第2の領域に分割されたIピクチャが、#1デコードチップ73と#2デコードチップ76とにそれぞれ供給される。#1デコードチップ73のデコーダ93は、バッファ制御回路92を介して供給されたIピクチャの第1の領域に含まれる各スライスをデコードする。バッファ制御回路95は、デコードされたIピクチャの第1の領域の画素データを、ビデオバッファ75に供給して保存させるとともに、デコードされたIピクチャの第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データをチップ間インタフェース96に供給する。チップ間インタフェース96は、供給された画素データを、#2デコードチップ76のチップ間インタフェース116に供給する。
First, as shown in FIG. 13, the I picture divided into the first area and the second area is supplied to the # 1
一方、#2デコードチップ76のデコーダ113は、バッファ制御回路112を介して供給されたIピクチャの第2の領域に含まれる各スライスをデコードする。バッファ制御回路115は、デコードされたIピクチャの第2の領域の画素データを、ビデオバッファ78に供給して保存させるとともに、デコードされた第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データをチップ間インタフェース116に供給する。チップ間インタフェース116は、供給された画素データを、#1デコードチップ73のチップ間インタフェース96に供給する。
On the other hand, the
#2デコードチップ76のチップ間インタフェース116は、#1デコードチップ73のチップ間インタフェース96から供給された画素データ、すなわち、Iピクチャの第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データを、バッファ制御回路115に供給する。バッファ制御回路115は、供給された画素データをビデオバッファ78に供給する。また、#1デコードチップ73のチップ間インタフェース96は、#2デコードチップ76のチップ間インタフェース116から供給された画素データ、すなわち、Iピクチャの第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データを、バッファ制御回路95に供給する。バッファ制御回路95は、供給された画素データをビデオバッファ75に供給する。
The inter-chip interface 116 of the # 2
すなわち、ビデオバッファ75には、Iピクチャの第1の領域の画素データと、第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データとが保存され、ビデオバッファ78には、Iピクチャの第2の領域の画素データと、第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データが保存される。
That is, in the
そして、ビデオバッファ75に保存された画素データのうち、Iピクチャの第1の領域の画素データは、バッファ制御回路95により読み出されて、出力回路97を介して合成処理部79に供給される。また、ビデオバッファ78に保存された画素データのうち、Iピクチャの第2の領域の画素データは、バッファ制御回路115により読み出されて、出力回路117を介して合成処理部79に供給される。そして、合成処理部79に供給された画素データが合成されて出力される。
Of the pixel data stored in the
そして、Pピクチャがデコードされる場合、ビデオバッファ75に保存されている、Iピクチャの第1の領域の画素データと、第2の領域の画素データのうち#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データとが、バッファ制御回路95に読み出されて、動き補償回路94による動き補償処理に用いられる。また、ビデオバッファ78に保存されている、Iピクチャの第2の領域の画素データと、第1の領域の画素データのうち#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データとが、バッファ制御回路115に読み出されて、動き補償回路114による動き補償処理に用いられる。すなわち、図14に示されるように、#1デコードチップ73でデコードされるPピクチャの第1の領域に含まれる各マクロブロックの動き探索範囲は、Iピクチャの第1の領域と、第2の領域の画素データのうち#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域に対応し、#2デコードチップ76でデコードされるPピクチャの第2の領域に含まれる各マクロブロックの動き探索範囲は、Iピクチャの第2の領域と、第1の領域の画素データのうち#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域に対応する。
Then, when the P picture is decoded, the motion is performed in the decoding process of the # 1
#1デコードチップ73のバッファ制御回路95は、デコードされたPピクチャの第1の領域の画素データを、ビデオバッファ75に供給して保存させるとともに、デコードされたPピクチャの第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データをチップ間インタフェース96に供給する。チップ間インタフェース96は、供給された画素データを、#2デコードチップ76のチップ間インタフェース116に供給する。
The
また、#2デコードチップ76のバッファ制御回路115は、デコードされたPピクチャの第2の領域の画素データを、ビデオバッファ78に供給して保存させるとともに、デコードされた第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データをチップ間インタフェース116に供給する。チップ間インタフェース116は、供給された画素データを、#1デコードチップ73のチップ間インタフェース96に供給する。
Further, the buffer control circuit 115 of the # 2
#2デコードチップ76のチップ間インタフェース116は、#1デコードチップ73のチップ間インタフェース96から供給された画素データ、すなわち、Pピクチャの第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データを、バッファ制御回路115に供給する。バッファ制御回路115は、供給された画素データをビデオバッファ78に供給する。また、#1デコードチップ73のチップ間インタフェース96は、#2デコードチップ76のチップ間インタフェース116から供給された画素データ、すなわち、Pピクチャの第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データを、バッファ制御回路95に供給する。バッファ制御回路95は、供給された画素データをビデオバッファ75に供給する。
The inter-chip interface 116 of the # 2
すなわち、図15に示されるように、ビデオバッファ75には、Pピクチャの第1の領域の画素データと、第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データとが保存され、ビデオバッファ78には、Pピクチャの第2の領域の画素データと、第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データが保存される。
That is, as shown in FIG. 15, the
そして、Bピクチャがデコードされる場合、ビデオバッファ75に保存されている、デコードされるBピクチャの前後のIまたはPピクチャにおける第1の領域の画素データ、および、第2の領域の画素データのうち#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データが、バッファ制御回路95に読み出されて、動き補償回路94による動き補償処理に用いられる。また、ビデオバッファ78に保存されている、デコードされるBピクチャの前後のIまたはPピクチャにおける第2の領域の画素データ、および、第1の領域の画素データのうち#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データが、バッファ制御回路115に読み出されて、動き補償回路114による動き補償処理に用いられる。すなわち、図16に示されるように、#1デコードチップ73でデコードされるBピクチャの第1の領域に含まれる各マクロブロックの動き探索範囲は、その前後のIまたはPピクチャの第1の領域と、第2の領域の画素データのうち#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域に対応し、#2デコードチップ76でデコードされるBピクチャの第2の領域に含まれる各マクロブロックの動き探索範囲は、その前後のIまたはPピクチャの第2の領域と、第1の領域の画素データのうち#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域に対応する。
When the B picture is decoded, the pixel data of the first area and the pixel data of the second area in the I or P picture before and after the decoded B picture stored in the
#1デコードチップ73のバッファ制御回路95は、デコードされたBピクチャの第1の領域の画素データを、ビデオバッファ75に供給して保存させる。Bピクチャは他のピクチャの参照画像として用いられないため、#1デコードチップ73においてデコードされたBピクチャはいずれの領域も#2デコードチップ76に供給(コピー)されなくてもよい。
The
また、#2デコードチップ76のバッファ制御回路115は、デコードされたBピクチャの第2の領域の画素データを、ビデオバッファ78に供給して保存させる。Bピクチャは他のピクチャの参照画像として用いられないため、#2デコードチップ76においてデコードされたBピクチャはいずれの領域も#1デコードチップ73に供給(コピー)されなくてもよい。
Further, the buffer control circuit 115 of the # 2
このようにして、IまたはPピクチャがデコードされた後、他のデコードチップのPまたはBピクチャのデコード時に参照画素として用いられる領域の画素データが他のデコードチップに供給されて、ビデオバッファにコピーされるので、1フレームが2つに分割されて異なるデコードチップでそれぞれデコードされるときに、PまたはBピクチャのデコード時に参照画素として用いられる領域の画素データが、予め、ビデオバッファに蓄積されて利用可能となる。 In this way, after the I or P picture is decoded, the pixel data of the area used as the reference pixel when decoding the P or B picture of the other decoding chip is supplied to the other decoding chip and copied to the video buffer. Therefore, when one frame is divided into two and decoded by different decoding chips, pixel data of an area used as a reference pixel when decoding a P or B picture is stored in the video buffer in advance. Be available.
次に、図17のフローチャートを参照して、デコーダ切り替え判断処理について説明する。 Next, the decoder switching determination process will be described with reference to the flowchart of FIG.
ステップS1において、CPU40は、CPU31から、ノースブリッジ32、PCIバス34、PCIブリッジ37、および、コントロールバス39を介して供給された、デコードされるストリームの種類やストリームの表示方法に関する情報を取得する。
In step S <b> 1, the
ステップS2において、CPU40は、デコードされるストリームは、Iピクチャだけで構成されたストリームであるか否かを判断する。ステップS2において、Iピクチャだけで構成されたストリームであると判断された場合、処理は、後述するステップS6に進む。
In step S2, the
ステップS2において、Iピクチャだけで構成されたストリームではないと判断された場合、ステップS3において、CPU40は、図9を用いて説明した編集画面131のスクラブバー151またはタイムライン153の表示スケールは、所定の値以上であるか否かを判断する。ステップS3において、所定の値以上であると判断された場合、処理は、後述するステップS6に進む。
When it is determined in step S2 that the stream is not composed of only I pictures, in step S3, the
ステップS3において、所定の値以上ではないと判断された場合、ステップS4において、CPU40は、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理が実行されるか否かを判断する。ステップS4において、逆方向再生、高速再生、または、スクラブ再生のいずれでもないと判断された場合、処理は、後述するステップS6に進む。
If it is determined in step S3 that the value is not equal to or greater than the predetermined value, in step S4, the
ステップS4において、逆方向再生、高速再生、または、スクラブ再生のうちのいずれかであると判断された場合、ステップS5において、CPU40は、例えば、M=3のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理であるか否かを判断する。
If it is determined in step S4 that the playback is one of reverse playback, high speed playback, and scrub playback, in step S5, the
ステップS2において、Iピクチャだけで構成されたストリームであると判断された場合、ステップS3において、所定の値以上であると判断された場合、ステップS4において、逆方向再生、高速再生、または、スクラブ再生のいずれでもないと判断された場合、または、ステップS5において、例えば、M=3のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理であると判断された場合、ステップS6において、CPU40は、通常のデコード処理を実行するものとして、デコーダユニット42を制御し、処理が終了される。
If it is determined in step S2 that the stream is composed only of I pictures, or if it is determined in step S3 that it is equal to or greater than a predetermined value, in step S4, reverse playback, high-speed playback, or scrubbing is performed. If it is determined that it is not any of the playback, or if it is determined in step S5 that the playback process is a predetermined playback process with a low load of decoding processing, such as triple speed for M = 3 LongGOP, for example, In S6, the
ステップS5において、例えば、M=3のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理ではないと判断された場合、ステップS7において、図18のフローチャートを参照して後述する分割デコード処理が実行されて、処理が終了される。 If it is determined in step S5 that the reproduction process is not a predetermined reproduction process with a low load of decoding processing, such as triple speed for a LongGOP of M = 3, for example, it will be described later with reference to the flowchart of FIG. The division decoding process is executed, and the process ends.
このような処理により、デコード処理の各種条件に基づいて、分割デコード処理が実行されるか、通常のデコード処理が実行されるかが決定される。 By such processing, it is determined whether the divided decoding processing or the normal decoding processing is executed based on various conditions of the decoding processing.
なお、ここでは、Iピクチャだけで構成されたストリームではなく、タイムラインの表示スケールは所定の値以下であり、逆方向再生、高速再生、または、スクラブ再生のいずれかの特殊再生が実行され、更に、例えば、M=3のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理ではないと判断された場合のみ、分割デコード処理が実行されるものとして説明したが、分割デコードを実行するか否かの条件は、例えば、デコーダユニット42を構成する復号処理部51−1乃至51−mのデコード処理能力、すなわち、#1デコードチップ73および#2デコードチップ76の処理能力によって異なるものとしても良いことはいうまでもない。
Note that here, the display scale of the timeline is not a predetermined value, not a stream composed only of I pictures, and special playback of reverse playback, high-speed playback, or scrub playback is performed, Furthermore, for example, it has been described that the division decoding process is executed only when it is determined that the reproduction process is not a predetermined reproduction process with a low decoding processing load such as 3 × speed for a LongGOP of M = 3. The condition whether or not to execute is determined by, for example, the decoding processing capability of the decoding processing units 51-1 to 51-m constituting the
具体的には、例えば、比較的処理能力の低い#1デコードチップ73および#2デコードチップ76が用いられた場合、上述した条件のうちの1つまたは2つが適合した場合に、分割デコード処理が実行されるものとしても良い。
Specifically, for example, when the # 1
次に、図18のフローチャートを参照して、図17のステップS7において実行される分割デコード処理について説明する。 Next, the division decoding process executed in step S7 of FIG. 17 will be described with reference to the flowchart of FIG.
ステップS31において、復号処理部51−1乃至51−mは、ストリームデータの供給を受ける。 In step S31, the decoding processing units 51-1 to 51-m receive supply of stream data.
ステップS32において、供給されたフレームが、#1デコードチップ73および#2デコードチップ76のそれぞれに供給される。
In step S32, the supplied frame is supplied to each of the # 1
ステップS33において、図19を用いて後述する分割フレームデコード処理が実行される。 In step S33, a divided frame decoding process to be described later with reference to FIG. 19 is executed.
ステップS34において、#1デコードチップ73の出力回路97は、デコードされた画素データにより構成される画像データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路95を介して、ビデオバッファ75にバッファリングされている画像データのうち、次に出力される画像データのデコーダ93においてデコードされた部分(すなわち、図12中、垂直方向の画像範囲がaで示される画像領域)の画像データを読み出し、復号ビデオデータとして合成処理部79に出力する。また、#2デコードチップ76の出力回路117は、デコードされた画素データにより構成される画像データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路115を介して、ビデオバッファ78にバッファリングされている画像データのうち、次に出力される画像データのデコーダ113においてデコードされた部分(すなわち、図12中、垂直方向の画像範囲がbで示される画像領域)の画像データを読み出し、復号ビデオデータとして合成処理部79に出力する。
In step S34, the
ステップS37において、合成処理部79は、#1デコードチップ73および#2デコードチップ76からデコードされた分割フレームの画像データの供給を受け、分割されている画像データを合成して1フレームとし、出力信号選択部80を介して出力し、処理が終了される。
In step S37, the
このような処理により、図8を用いて説明した復号処理部51は、#1デコードチップ73および#2デコードチップ76を用いて1フレームを分割してデコードすることができる。例えば、#1デコードチップ73のデコーダ93および#2デコードチップ76のデコーダ113がそれぞれ1倍速に対応するデコード処理速度を有し、#1デコードチップ73および#2デコードチップ76のそれぞれにおいて、ストリームデータの1フレームをそれぞれの符号化難易度が2等分となるようにデコード領域が認識されている場合、図8を用いて説明した復号処理部51は、いずれか一方でデコード処理が実行される場合と比較して、2倍速のデコード処理が可能となる。
Through such processing, the
また、このような処理により、2倍速でデコード処理が可能となるばかりでなく、同等の高速復号性能においては、回路規模を削減(1つのデコードチップの処理能力を下げる)事が可能となる。また、1つのデコードチップでは対応できないようなフレーム周波数の高い符号化ストリームであっても、複数のデコードチップを用いることによりデコードすることが可能となる。具体的には、例えば、1つのデコードチップの処理能力が1920×1080/30P相当のデコードチップを2個用いることにより、1920×1080/60Pの符号化ストリームのデコードが可能となり、1つのデコードチップの処理能力が 1920×1080/60i相当のデコードチップを2個用いることにより、1920×1080/60Pの符号化ストリームを復号することが可能となり、1つのデコードチップの処理能力が1920×1080/60i相当のデコードチップを2個用いることにより、1920×1080/120iの符号化ストリームを復号することが可能となる。 Such processing not only enables decoding at double speed, but also reduces the circuit scale (decreases the processing capability of one decoding chip) with equivalent high-speed decoding performance. Even an encoded stream having a high frame frequency that cannot be handled by a single decode chip can be decoded by using a plurality of decode chips. Specifically, for example, by using two decode chips with a processing capacity of 1920 × 1080 / 30P equivalent to one decode chip, it is possible to decode a 1920 × 1080 / 60P encoded stream, and one decode chip By using two decoding chips equivalent to 1920 × 1080 / 60i, it is possible to decode a 1920 × 1080 / 60P encoded stream, and the processing capacity of one decoding chip is 1920 × 1080 / 60i. By using two corresponding decoding chips, it is possible to decode a 1920 × 1080 / 120i encoded stream.
更に、高速のデコード処理が可能となり、複数のデコードチップが1フレームを分割してデコードすることにより、所望のピクチャから再生を開始させるような場合、再生開始点のピクチャをデコードするために必要な参照画像が複数枚存在するようなときでも、高速で処理を行うことができるので、高速頭出し再生が実現可能となる。 Furthermore, high-speed decoding processing becomes possible, and when a plurality of decode chips divide and decode one frame to start reproduction from a desired picture, it is necessary to decode the picture at the reproduction start point. Even when there are a plurality of reference images, processing can be performed at high speed, so that high-speed cue playback can be realized.
次に、図19のフローチャートを参照して、図18のステップS33において実行される分割フレームデコード処理について説明する。分割フレームデコード処理は、#1デコードチップ73および#2デコードチップ76のそれぞれにおいて、並行して実行される。
Next, the divided frame decoding process executed in step S33 in FIG. 18 will be described with reference to the flowchart in FIG. The divided frame decoding process is executed in parallel in each of the # 1
ステップS61において、#1デコードチップ73のストリーム入力回路91は、ストリームデータの供給を受け、供給されたフレームのピクチャタイプを検出する。また、#1デコードチップ76のストリーム入力回路111は、ストリームデータの供給を受け、供給されたフレームのピクチャタイプを検出する。
In step S61, the
ステップS62において、#1デコードチップ73のストリーム入力回路91および#1デコードチップ76のストリーム入力回路111は、コントローラ71の制御に基づいて、供給されたフレームのうち、例えば、図10を用いて説明したフレームの分割における場合と同様にして、デコードする範囲を選択して抽出する。
In step S62, the
ステップS63において、#1デコードチップ73のストリーム入力回路91は、供給されたフレームのうち、デコード範囲として抽出した部分をバッファ制御回路92に供給する。バッファ制御回路92は、供給されたデータをストリームバッファ74にバッファリングする。また、#1デコードチップ76のストリーム入力回路111は、供給されたフレームのうち、デコード範囲として抽出した部分を、バッファ制御回路112に供給する。バッファ制御回路112は、供給されたデータをストリームバッファ77にバッファリングする。
In step S63, the
ステップS64において、バッファ制御回路92は、ストリームバッファ74にバッファリングされたデータを読み出してデコーダ93に供給する。また。バッファ制御回路112は、ストリームバッファ77にバッファリングされたデータを読み出してデコーダ113に供給する。このとき、上述したように、他のデコードチップに参照画素として供給する必要のある領域のマクロブロックからデコードが開始されるように、優先的にデコーダに供給すると好適である。
In
ステップS65において、デコーダ93およびデコーダ113は、コントローラ71から供給される制御信号を基に、供給されたのはIピクチャであるか否かを判断する。ステップS65において、供給されたのはIピクチャではないと判断された場合、処理は、後述するステップS70に進む。
In step S65, the
ステップS65において、供給されたのはIピクチャであると判断された場合、ステップS66において、デコーダ93およびデコーダ113は、供給されたそれぞれの符号化データに含まれるマクロブロックをデコードする。
If it is determined in step S65 that the supplied picture is an I picture, in step S66, the
ステップS67において、バッファ制御回路95は、デコーダ93からデコード済みのデータの供給を受け、デコード済みの画素データ(図13のIピクチャの第1の領域に対応する部分の画素データ)を、参照画像および出力用の画像としてビデオバッファ75に供給する。また、バッファ制御回路115は、デコーダ113からデコード済みのデータの供給を受け、デコード済みの画素データ(図13のIピクチャの第2の領域に対応する部分の画素データ)を、参照画像および出力用の画像としてビデオバッファ78に供給する。
In step S67, the
ステップS68において、バッファ制御回路95は、デコーダ93から供給されたデコード済みのデータのうち、#2デコードチップ76のデコード処理に用いるために、#2デコードチップ76へコピーする部分(すなわち、図12中、垂直方向の画像範囲がαで示される領域)のデータをチップ間インタフェース96に供給する。チップ間インタフェース96は、供給されたコピー部分の画素データを、#2デコードチップ76のチップ間インタフェース116に供給する。また、バッファ制御回路115は、デコーダ113から供給されたデコード済みのデータのうち、#1デコードチップ73のデコード処理に用いるために、#1デコードチップ73へコピーする部分(すなわち、図12中、垂直方向の画像範囲がβで示される領域)のデータをチップ間インタフェース116に供給する。チップ間インタフェース116は、供給されたコピー部分の画素データを、#1デコードチップ73のチップ間インタフェース96に供給する。
In step S68, the
このとき、デコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース96からチップ間インタフェース116へデータを供給するインタフェースと、チップ間インタフェース116からチップ間インタフェース96へデータを供給するインタフェースとが、それぞれ独立している(データバスなどのインタフェースを共有していない)と、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
At this time, an interface for connecting the decoding chips, that is, an interface for supplying data from the
なお、チップ間インタフェース96とチップ間インタフェース116とを結ぶインタフェースは、例えば、#1デコードチップ73と#2デコードチップ76が実装されている基板上において、それぞれのチップの入出力端子をパターン接続すればよいため、それぞれのインタフェースを独立して用意しても、そのために必要となるハードウェアの実装上のコストは非常に安価である。
The interface connecting the
ステップS69において、#1デコードチップ73のチップ間インタフェース96は、#2デコードチップ76から供給された画素データをバッファ制御回路95に供給する。バッファ制御回路95は、供給された画素データをビデオバッファ75に供給する。また。#2デコードチップ76のチップ間インタフェース116は、#1デコードチップ73から供給された画素データをバッファ制御回路115に供給する。バッファ制御回路115は、供給された画素データをビデオバッファ78に供給する。すなわち、図13を用いて説明したように、ビデオバッファ75には、Iピクチャの第1の領域の画素データと、第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データとが保存され、ビデオバッファ78には、Iピクチャの第2の領域の画素データと、第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データが保存され、処理は、図18のステップS33に戻り、ステップS34に進む。
In step S <b> 69, the
ステップS65において、供給されたのはIピクチャではないと判断された場合、ステップS70において、デコーダ93およびデコーダ113は、コントローラ71から供給される制御信号を基に、供給されたのはPピクチャであるか否かを判断する。ステップS70において、供給されたのはPピクチャではないと判断された場合、処理は、後述するステップS75に進む。
If it is determined in step S65 that the supplied picture is not an I picture, in step S70, the
ステップS70において、供給されたのはPピクチャであると判断された場合、ステップS71において、デコーダ93およびデコーダ113は、参照画素データを用いて、それぞれのマクロブロックをデコードする。具体的には、Pピクチャに含まれるマクロブロックは、動き補償を使用しているので、デコーダ93は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路94に出力する。動き補償回路94は、デコーダ93から出力される予測ベクトルに従って、バッファ制御回路95を介して、ビデオバッファ75から参照画素データを読み出し、読み出した参照画素データを、デコーダ93から供給された画素データに加算し、動き補償を行う。ビデオバッファ75には、ステップS69または後述するステップS74の処理により、分割されたPピクチャのデコードに必要な参照画像が、全画素蓄積されている。また、デコーダ113は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路114に出力する。動き補償回路114は、デコーダ113から出力される予測ベクトルに従って、バッファ制御回路115を介して、ビデオバッファ78から参照画素データを読み出し、読み出した参照画素データを、デコーダ113から供給された画素データに加算し、動き補償を行う。ビデオバッファ78には、ステップS69または後述するステップS74の処理により、分割されたPピクチャのデコードに必要な参照画像が、全画素蓄積されている。
If it is determined in step S70 that the supplied picture is a P picture, in step S71, the
ステップS72において、バッファ制御回路95は、デコーダ93からデコード済みのデータの供給を受け、デコード済みの画素データ(図15のPピクチャの第1の領域に対応する部分の画素データ)を、参照画像および出力用の画像としてビデオバッファ75に供給する。また、バッファ制御回路115は、デコーダ113からデコード済みのデータの供給を受け、デコード済みの画素データ(図15のPピクチャの第2の領域に対応する部分の画素データ)を、参照画像および出力用の画像としてビデオバッファ78に供給する。
In step S72, the
ステップS73において、バッファ制御回路95は、デコーダ93から供給されたデコード済みのデータのうち、#2デコードチップ76のデコード処理に用いるために、#2デコードチップ76へコピーする部分(すなわち、図12中、垂直方向の画像範囲がαで示される領域)のデータをチップ間インタフェース96に供給する。チップ間インタフェース96は、供給されたコピー部分の画素データを、#2デコードチップ76のチップ間インタフェース116に供給する。また、バッファ制御回路115は、デコーダ113から供給されたデコード済みのデータのうち、#1デコードチップ73のデコード処理に用いるために、#1デコードチップ73へコピーする部分(すなわち、図12中、垂直方向の画像範囲がβで示される領域)のデータをチップ間インタフェース116に供給する。チップ間インタフェース116は、供給されたコピー部分の画素データを、#1デコードチップ73のチップ間インタフェース96に供給する。
In step S73, the
ステップS74において、#1デコードチップ73のチップ間インタフェース96は、#2デコードチップ76から供給された画素データをバッファ制御回路95に供給する。バッファ制御回路95は、供給された画素データをビデオバッファ75に供給する。また。#2デコードチップ76のチップ間インタフェース116は、#1デコードチップ73から供給された画素データをバッファ制御回路115に供給する。バッファ制御回路115は、供給された画素データをビデオバッファ78に供給する。すなわち、図15を用いて説明したように、ビデオバッファ75には、Pピクチャの第1の領域の画素データと、第2の領域の画素データのうち、#1デコードチップ73のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がβで示された領域)の画素データとが保存され、ビデオバッファ78には、Pピクチャの第2の領域の画素データと、第1の領域の画素データのうち、#2デコードチップ76のデコード処理において動きベクトルの探索範囲に含まれる領域(図12において垂直方向の画像範囲がαで示された領域)の画素データが保存され、処理は、図18のステップS33に戻り、ステップS34に進む。
In step S74, the
ステップS70において、供給されたのはPピクチャではないと判断された場合、ステップS75において、デコーダ93およびデコーダ113は、コントローラ71から供給される制御信号を基に、供給されたのはBピクチャであるか否かを判断する。ステップS75において、供給されたのはBピクチャではないと判断された場合、処理は、ステップS65に戻り、それ以降の処理が繰り返される。
When it is determined in step S70 that the supplied picture is not a P picture, in step S75, the
ステップS75において、供給されたのはBピクチャであると判断された場合、ステップS76において、デコーダ93およびデコーダ113は、参照画素データを用いて、それぞれのマクロブロックをデコードする。具体的には、Bピクチャに含まれるマクロブロックは、動き補償を使用しているので、デコーダ93は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路94に出力する。動き補償回路94は、デコーダ93から出力される予測ベクトルに従って、バッファ制御回路95を介して、ビデオバッファ75から参照画素データを読み出し、読み出した参照画素データを、デコーダ93から供給された画素データに加算し、動き補償を行う。ビデオバッファ75には、ステップS69またはステップS74の処理により、分割されたBピクチャのデコードに必要な参照画像が、全画素蓄積されている。また、デコーダ113は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路114に出力する。動き補償回路114は、デコーダ113から出力される予測ベクトルに従って、バッファ制御回路115を介して、ビデオバッファ78から参照画素データを読み出す。そして、読み出した参照画素データを、デコーダ113から供給された画素データに加算し、動き補償を行う。ビデオバッファ78には、ステップS69またはステップS74の処理により、分割されたBピクチャのデコードに必要な参照画像が、全画素蓄積されている。
When it is determined in step S75 that the supplied picture is a B picture, in step S76, the
ステップS77において、バッファ制御回路95は、デコーダ93からデコード済みのデータの供給を受け、デコード済みの画素データ(図16のBピクチャの第1の領域に対応する部分の画素データ)を、出力用の画像としてビデオバッファ75に供給する。また、バッファ制御回路115は、デコーダ113からデコード済みのデータの供給を受け、デコード済みの画素データ(図16のBピクチャの第2の領域に対応する部分の画素データ)を、出力用の画像としてビデオバッファ78に供給し、処理は、図18のステップS33に戻り、ステップS34に進む。
In step S77, the
このような処理により、#1デコードチップ73と#2デコードチップ76とのそれぞれにおいて、コントローラ71により検出されたピクチャタイプに基づいたデコード処理が実行される。また、このとき、#1デコードチップ73と#2デコードチップ76とのそれぞれにおいて、他方のデコードチップにおいて参照画像として用いられる部分の画素データを、他方のデコードチップに供給するとともに、他方のデコードチップから供給される参照画像を自分自身が参照可能なビデオバッファに供給して保存させ、参照画像として利用することができる。
By such processing, decoding processing based on the picture type detected by the
なお、以上説明した処理においては、Iピクチャのデコードの終了後に、PまたはBピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給し、Pピクチャのデコードの終了後に、PまたはBピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給するものとして説明した。これにより、デコード済みの画素データのチップ間のコピー処理を、それぞれのピクチャがデコードされるときに実行されるようにした場合、すなわち、Pピクチャのデコード時に、既にデコードされてバッファリングされているIまたはPピクチャに対応する画素データから、Pピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップから取得し、Bピクチャのデコード時に、既にデコードされてバッファリングされているIまたはPピクチャに対応する画素データから、Bピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップから取得するようにした場合と比較して、それぞれのビデオバッファ(ビデオバッファ75またはビデオバッファ78)へのアクセス時間の合計を短くすることが可能となる。
In the above-described processing, after the decoding of the I picture is completed, the pixel data of the portion referred to in the decoding of the P or B picture is supplied to the other decoding chip, and after the decoding of the P picture is completed, the P or In the above description, it is assumed that the pixel data of the part referred to in the decoding of the B picture is supplied to the other decoding chip. As a result, when the inter-chip copy processing of the decoded pixel data is executed when each picture is decoded, that is, when the P picture is decoded, it is already decoded and buffered. From the pixel data corresponding to the I or P picture, the pixel data of the part to be referred to in the decoding of the P picture is obtained from the other decoding chip, and when decoding the B picture, the already decoded and buffered I or P Compared to the case where the pixel data of the part referred to in the decoding of the B picture is obtained from the other decoding chip from the pixel data corresponding to the picture, each video buffer (
具体的には、デコード済みの画素データのチップ間のコピー処理をそれぞれのピクチャがデコードされるときに実行されるようにした場合、図20においてAに示されるように、Iピクチャのデコード時におけるビデオバッファ(ビデオバッファ75またはビデオバッファ78)へのアクセス時間は、Iピクチャに対応する復号画像の書き込み時間T1のみとなり、Pピクチャのデコード時におけるビデオバッファへのアクセス時間は、Pピクチャに対応する復号画像の書き込み時間T1に加えて、前方向の参照画の読み出し時間T2と、他方のデコードチップのデコード処理に用いられる範囲の参照画像の読み出し時間T3が必要となる。なお、参照画の読み出し時間T2は、復号画像の書き込み時間T1と略同等か、または、それ以上である。そして、Bピクチャのデコード時におけるビデオバッファへのアクセス時間は、Bピクチャに対応する復号画像の書き込み時間T1に加えて、前方向および後ろ方向の参照画の読み出し時間T2×2と、他方のデコードチップのデコード処理に用いられる範囲の前方向および後ろ方向の参照画像の読み出し時間T3×2が必要となる。
Specifically, when the inter-chip copy process of the decoded pixel data is executed when each picture is decoded, as shown by A in FIG. The access time to the video buffer (
そして、Iピクチャのデコードの終了後にPまたはBピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給し、Pピクチャのデコードの終了後にPまたはBピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給するようになされている場合、図20においてBに示されるように、Iピクチャのデコード時におけるビデオバッファへのアクセス時間は、Iピクチャに対応する復号画像の書き込み時間T1に加えて、他方のデコードチップから供給された、後でPまたはBピクチャがデコードされるときに用いられる範囲の参照画像を書き込むための時間T4が必要となる。また、Pピクチャのデコード時におけるビデオバッファへのアクセス時間は、Pピクチャに対応する復号画像の書き込み時間T1と前方向の参照画の読み出し時間T2に加えて、他方のデコードチップから供給された、後でPまたはBピクチャがデコードされるときに用いられる範囲の参照画像を書き込むための時間T4が必要となる。そして、Bピクチャのデコード時におけるビデオバッファへのアクセス時間は、Bピクチャに対応する復号画像の書き込み時間T1と、前方向および後ろ方向の参照画の読み出し時間T2×2との合計時間となる。 Then, the pixel data of the part referred to in the decoding of the P or B picture after the decoding of the I picture is supplied to the other decoding chip, and the part referred to in the decoding of the P or B picture after the decoding of the P picture is completed 20 is supplied to the other decoding chip, as shown in B in FIG. 20, the access time to the video buffer at the time of decoding the I picture is the time of the decoded image corresponding to the I picture. In addition to the writing time T1, a time T4 for writing a reference image in a range supplied from the other decoding chip and used later when a P or B picture is decoded is required. The access time to the video buffer at the time of decoding the P picture is supplied from the other decoding chip in addition to the decoded image writing time T1 and the forward reference image reading time T2 corresponding to the P picture. A time T4 for writing a reference image in a range used later when a P or B picture is decoded later is required. The access time to the video buffer at the time of decoding the B picture is the total time of the decoded image writing time T1 corresponding to the B picture and the forward and backward reference picture reading time T2 × 2.
すなわち、デコード済みの画素データのチップ間のコピー処理をそれぞれのピクチャがデコードされるときに実行されるようにした場合と、Iピクチャのデコードの終了後にPまたはBピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに予め供給し、Pピクチャのデコードの終了後にPまたはBピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに予め供給する場合とでは、いずれの場合においても、ビデオバッファへのアクセス時間の合計は、Bピクチャのデコード時に最大となるが、他のデコードチップの参照画像を予め供給しておくようにすることにより、図20においてBに示されるように、1ピクチャのデコードにおけるビデオバッファへの最大のアクセス時間を短縮させる(図中T5で示される時間分だけ短縮させる)ことが可能となるので、復号処理時間を短縮することができ、換言すれば、より高速に復号処理を行うことや、同一のデコード処理速度においてはデコードチップとビデオバッファとのデータ転送速度を低くすることが可能となる。 That is, a case in which the inter-chip copy processing of the decoded pixel data is executed when each picture is decoded, and a portion that is referred to in the decoding of the P or B picture after the decoding of the I picture is completed In this case, the first pixel data is supplied in advance to the other decoding chip, and the pixel data of the part referred to in the decoding of the P or B picture is supplied in advance to the other decoding chip after the decoding of the P picture is completed. In FIG. 20, the total access time to the video buffer is maximized when the B picture is decoded, but as shown in FIG. 20B by supplying a reference image of another decoding chip in advance. In addition, the maximum access time to the video buffer for decoding one picture is shortened. Can be shortened by the time indicated by T5 in the drawing, so that the decoding processing time can be shortened. In other words, the decoding processing can be performed at a higher speed or the same decoding processing speed. In this case, the data transfer rate between the decode chip and the video buffer can be lowered.
このとき、上述したように、デコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース96からチップ間インタフェース116へデータを供給するインタフェースと、チップ間インタフェース116からチップ間インタフェース96へデータを供給するインタフェースとが、それぞれ独立している(データバスなどのインタフェースを共有していない)と、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
At this time, as described above, an interface for connecting the decoding chips, that is, an interface for supplying data from the
また、#1デコードチップ73と#2デコードチップ76とのそれぞれにおいて実行されるデコード処理をいずれのスライスから行うかによって、更に、復号処理時間を短縮することができ、換言すれば、より高速に復号処理を行うことが可能となる。
Further, the decoding processing time can be further shortened depending on which slice the decoding processing executed in each of the # 1
図21乃至図23を用いて、デコード処理の順番と復号処理の処理速度について説明する。 The order of decoding processing and the processing speed of decoding processing will be described with reference to FIGS.
図21は、#1デコードチップ73と#2デコードチップ76とのそれぞれにおいて実行されるデコード処理の処理順の複数のパターンを示す図である。
FIG. 21 is a diagram illustrating a plurality of patterns in the processing order of the decoding process executed in each of the # 1
MPEGストリームが供給される場合、picture_headerなどに引き続き、picture_dataとして画面を構成する複数のスライスが順次供給される。この際、画面の左上部のスライスから、画面の右下部のスライスの順序で供給される。したがって、通常のデコード順では、#1デコードチップ73と#2デコードチップ76とのそれぞれにおいて、図21の矢印161および矢印162に示されるように、各分割画面の上部から下部方向の順で復号処理が実行される。すなわち、#1デコードチップ73で復号されて#2デコードチップ76への転送が必要な、図中αで示される領域の参照画素は最後に復号される。
When an MPEG stream is supplied, a plurality of slices constituting a screen are sequentially supplied as picture_data following picture_header and the like. In this case, the slices are supplied in the order of the slice at the upper left of the screen, and the slice at the lower right of the screen. Therefore, in the normal decoding order, decoding is performed in the order from the top to the bottom of each divided screen as indicated by the
したがって、例えば、Pピクチャのデコードに続いて、Bピクチャがデコードされる場合、#2デコードチップ76においてPピクチャの#2デコードチップ76でデコードする領域のデコードが終了しても、#1デコードチップ73で復号された図中αで示される領域の参照画素が#2デコードチップ76に供給されてビデオデコーダ78に蓄積されるまで、次のBピクチャのデコード処理を開始することができない。
Therefore, for example, when the B picture is decoded following the decoding of the P picture, even if the decoding of the area decoded by the # 2
このように、参照画素の他のデコードチップへのコピー(転送)にかかる時間のために発生するデコード処理の待ち時間を短縮するためには、デコードチップ間の参照画素の転送速度を速めなければならない。 As described above, in order to reduce the waiting time of the decoding process that occurs due to the time required to copy (transfer) the reference pixel to another decoding chip, the transfer speed of the reference pixel between the decoding chips must be increased. Don't be.
そこで、本発明を適用した復号処理部51においては、#1デコードチップ73におけるデコード処理順を、矢印161に示される場合とは異なるものとすることができる。
Therefore, in the
すなわち、図8に示される復号処理部51において、#1デコードチップ73に供給される分割された符号化ストリームは、ストリームバッファ74に蓄積されるので、バッファ制御回路92は、図中αで示される領域の参照画素を先に読み出してデコーダ93に供給する。具体的には、例えば、図21の矢印163−1に示されるように、図中αで示される領域においては、右下のスライス(#2デコードチップ76でデコードする領域に近いスライス)から順にデコーダ93に供給され、続いて、#1デコードチップ73でデコードする領域の画像のうちの残る領域においては、矢印163−2に示されるように、右下のスライスから順にデコーダ93に供給されるようにしてもよい。また、図21の矢印163−3に示されるように、図中αで示される領域においては、左上のスライスから順にデコーダ93に供給され、続いて、#1デコードチップ73でデコードする領域の画像のうちの残る領域においても、矢印163−4に示されるように、左上のスライスから順にデコーダ93に供給されるようにしてもよい。また、図21の矢印163−5に示されるように、図中αで示される領域においては、右下のスライスから順にデコーダ93に供給され、続いて、#1デコードチップ73でデコードする領域の画像のうちの残る領域においては、矢印163−6に示されるように、左上のスライスから順にデコーダ93に供給されるようにしてもよい。
That is, in the
図中αで示される領域の参照画素が先に読み出されてデコーダ93に供給されるようになされていれば、上述したいずれのパターンにおいても、#2デコードチップ76でデコードする領域のデコード処理が全て終了する前に、図中αで示される領域の参照画素はデコードされて#2デコードチップ76に供給されるので、他のデコードチップへのコピー(転送)にかかる時間のためにデコード処理の待ち時間が発生するのを防止することができる。
If the reference pixel in the area indicated by α in the figure is read out first and supplied to the
すなわち、図21の矢印161および矢印162に示されるように、各分割画面の上部から下部方向の順で復号処理が実行された場合、図22に示されるように、#1デコードチップ73で、図中αで示される領域のデコード処理が開始され、復号された参照画素の#2デコードチップ76への供給が順次実行されても、#2デコードチップ76でデコードされる領域のデコード処理が終了するまでに、データの転送(図中の矢印164および矢印165)は終了されない。すなわち、図中αで示される領域の参照画素が#2デコードチップ76へ供給されてビデオデコーダ78に蓄積されるまで、次のピクチャのデコード処理を開始する(図中の矢印166)ことができない。
That is, as shown by
これに対して、図21の矢印163−1乃至163−6に示されるように、図中αで示される領域の符号化ストリームが先に読み出されてデコーダ93に供給されるようになされていれば、図23に示されるように、#1デコードチップ73で、図中αで示される領域のデコード処理が先に開始され、復号された参照画素の#2デコードチップ76への供給が順次されている間に、それ以外の領域のデコード処理が実行されるので、#2デコードチップ76でデコードされる領域のデコード処理が終了するまでに、データの転送(図中の矢印167および矢印168)は終了される。すなわち、#2デコードチップ76でデコードされる領域のデコード処理が終了した後、直ちに、次のピクチャのデコード処理を開始する(図中の矢印169)ことができる。
On the other hand, as indicated by arrows 163-1 to 163-6 in FIG. 21, the encoded stream in the area indicated by α in the figure is read out first and supplied to the
すなわち、それぞれのデコードチップにおいて他方のデコードチップに供給する領域のデコードを優先的に実行することにより、転送速度を大幅に高速化することなく他の部分のデコード処理の間に、データの転送処理を終了させることができる。 In other words, by preferentially executing the decoding of the area supplied to the other decoding chip in each decoding chip, the data transfer process during the decoding process of other parts without significantly increasing the transfer speed Can be terminated.
次に、図24は、符号化処理部52の構成を示すブロック図である。ここでは、符号化処理部52は、MPEG2方式で符号化された符号化ストリームの供給を受け、復号して出力することができるようになされているものとして説明する。
Next, FIG. 24 is a block diagram illustrating a configuration of the
符号化処理部52は、コントローラ171、入力信号選択部172、#1エンコードチップ173、ビデオバッファ174、ストリーム/参照画バッファ175、#2エンコードチップ176、ビデオバッファ177、ストリーム/参照画バッファ178、合成処理部179、および、出力信号選択部180で構成されている。符号化処理部52には、3つ以上のエンコードチップを備えるようにしても良いが、ここでは、#1エンコードチップ173および#2エンコードチップ176の2つのエンコードチップが備えられているものとして説明する。
The
コントローラ171は、ユーザの操作入力、または、外部の装置から供給される制御信号を基に、符号化処理部52の動作を制御するものである。
The
すなわち、コントローラ171は、CPU40の制御に基づいて、エンコード処理の難易度が高い場合においては、#1エンコードチップ173および#2エンコードチップ176を用いて、1画面を2分割してそれぞれエンコード処理を行い、生成された分割された画像を合成して出力し、エンコード処理の難易度が比較的低い場合においては、#1エンコードチップ173および#2エンコードチップ176で、それぞれ異なるビデオデータをエンコードさせるようにすることができる。
That is, based on the control of the
エンコード処理の難易度は、例えば、エンコードされるビデオデータ(ベースバンド画像データ)のプロファイルとレベルによって異なる。コントローラ171は、#1エンコードチップ173および#2エンコードチップ176のそれぞれの処理能力によって、1エンコードチップ173および#2エンコードチップ176で、それぞれ異なるビデオデータをエンコードすることが可能な、レベルおよびプロファイルを設定し、それ以上難易度の高いレベルおよびプロファイルのビデオデータをエンコードする場合には、#1エンコードチップ173および#2エンコードチップ176を用いて、1画面を2分割してそれぞれエンコード処理を行うものとする。例えば、コントローラ171は、SP@ML,MP@LL、または、MP@MLは、#1エンコードチップ173および#2エンコードチップ176で、それぞれ異なるビデオデータをエンコードすることが可能であるとし、それ以外の、例えば、MP@HLや、HP@HLなどにおいては、#1エンコードチップ173および#2エンコードチップ176を用いて、1つのビデオストリームの1画面を2分割してそれぞれエンコード処理を行うものとすることができる。
The difficulty level of the encoding process varies depending on the profile and level of the video data (baseband image data) to be encoded, for example. The
入力信号選択部172は、コントローラ171の制御に基づいて、分割エンコード処理が実行されない場合、#1エンコードチップ173に供給されるビデオデータとは異なるビデオデータを#2エンコードチップ176に供給し、分割エンコード処理が実行される場合、#1エンコードチップ173に供給されるビデオデータと同一のビデオデータの供給を受け、#2エンコードチップ176に供給する。
Based on the control of the
#1エンコードチップ173および#2エンコードチップ176は、分割エンコード処理を実行する場合、それぞれ、供給された画像データのうちの自分自身がエンコードする部分を認識して、エンコード処理を実行する。
When executing the division encoding process, the # 1
画面の分割の仕方は、例えば、図10を用いて説明した、デコード処理における場合と、基本的に同様であるものとすることができる。 The method of dividing the screen can be basically the same as in the decoding process described with reference to FIG.
ここでは、#1エンコードチップ173および#2エンコードチップ176は、それぞれ、供給された画像データのうちの自分自身がエンコードする部分を認識して、エンコード処理を実行するものとして説明したが、例えば、供給されたビデオデータのそれぞれの画像データが、図10を用いて説明したように予め分割され、#1エンコードチップ173および#2エンコードチップ176に供給されるものとしても良い。
Here, the # 1 encode
なお、入力ビデオデータに含まれる画像のそれぞれをエンコードチップの個数より多く分割して、その複数の分割された画像データを備えられているエンコードチップの個数に分けて、供給するようにしても良いが、図10を用いて説明したように、入力ビデオデータに含まれる画像データのそれぞれをエンコードチップの個数のまとまった(分離されていない)エンコード単位に分割するほうが、それぞれのエンコードチップにおいてエンコードされる領域の中の他のエンコードチップのエンコードにおいて参照される画像領域の割合が少なくなるので、後述する参照部分の画素のエンコードチップ間の授受の処理が複雑にならないので好適である。 Note that each of the images included in the input video data may be divided more than the number of encode chips, and divided into the number of encode chips provided with the plurality of divided image data. However, as described with reference to FIG. 10, each of the image data included in the input video data is encoded in each encoding chip by dividing the image data into the encoding units in which the number of encoding chips is united (not separated). Since the ratio of the image area to be referred to in the encoding of the other encoding chip in the area to be reduced is reduced, it is preferable because the process of transferring between the encoding chips of the pixels of the reference portion described later does not become complicated.
なお、画像データの分割の方法は、等分割であっても、不等分な分割であっても良い。コントローラ171は、例えば、画像の複雑さを検出する機能を備えるようにして、分割エンコード処理が実行され、画像データの部分によって画像の複雑さが著しく異なっているような場合、画像の複雑さ(符号化難易度)に基づいて、ピクチャの分割幅(図10における図中のaおよびb)を決定することができるようにしても良い。
The method for dividing the image data may be equal division or unequal division. The
#1エンコードチップ173は、ビデオデータ入力回路191、バッファ制御回路192、エンコーダ193、動き補償回路194、バッファ制御回路195、チップ間インタフェース(I/F)196、および、出力回路197から構成され、コントローラ171の制御に基づいて、供給された画像データの全体、または、所定の部分をエンコードする。分割エンコード処理が実行されるとき、#1エンコードチップ173は、#2エンコードチップ176のエンコード処理の動き補償における参照画像として必要となる可能性のある領域のローカルデコードにより得られた画素データを参照画素データとして#2エンコードチップ176に供給するとともに、#2エンコードチップ176から供給される参照画素データをストリーム/参照画バッファ175に供給して記憶させ、必要に応じて参照することにより、エンコード処理を実行する。
The # 1 encode
ビデオバッファ174は、例えば、DRAM(Dynamic Random Access Memory)などにより構成され、#1エンコードチップ173に供給されたビデオデータを一時保存する。ストリーム/参照画バッファ175は、例えば、DRAMなどにより構成され、#1エンコードチップ173においてエンコードされた符号化フレームで構成されるストリームや、#2エンコードチップ176から供給されたエンコード済みフレームに対応するローカルデコード画の一部(画素データ)の供給を受けて、一時保存する。
The
#2エンコードチップ176は、ビデオデータ入力回路211、バッファ制御回路212、エンコーダ213、動き補償回路214、バッファ制御回路215、チップ間インタフェース(I/F)116、および、出力回路217から構成され、コントローラ171の制御に基づいて、供給された画像データの全体、または、所定の部分をエンコードする。分割エンコード処理が実行されるとき、#2エンコードチップ176は、#1エンコードチップ173のエンコード処理の参照画像として必要となる領域のローカルデコードによる参照画素データを#1エンコードチップ173に供給するとともに、#1エンコードチップ173から供給される参照画素データをストリーム/参照画バッファ178に供給して記憶させ、必要に応じて参照することにより、エンコード処理を実行する。
The # 2 encode
ビデオバッファ177は、例えば、DRAMなどにより構成され、#2エンコードチップ176に供給されたビデオデータを一時保存する。ストリーム/参照画バッファ178は、例えば、DRAMなどにより構成され、#2エンコードチップ176においてエンコードされた符号化フレームで構成されるストリームや、#1エンコードチップ173から供給されたエンコード済みフレームに対応するローカルデコード画の一部(画素データ)の供給を受けて、一時保存する。
The
合成処理部179は、分割エンコード処理が実行された場合、#1エンコードチップ173および#2エンコードチップ176から、エンコード済みのフレームデータの一部の供給を受け、合成し、出力信号選択部180に供給する。出力信号選択部180は、分割エンコード処理が実行されない場合、#1エンコードチップ173の出力を選択し、分割エンコード処理が実行された場合、合成処理部179の出力を選択して、復号ビデオデータとして出力する。
When the division encoding process is executed, the synthesis processing unit 179 receives a part of the encoded frame data from the # 1 encode
また、分割エンコード処理が実行されない場合、#2エンコードチップ176からの出力は、そのまま出力されるが、分割エンコード処理が実行される場合、#2エンコードチップ176からの出力は合成処理部179に供給され、出力されないものとしても良い。
When the division encoding process is not executed, the output from the # 2
次に、#1エンコードチップ173の構成および動作について説明する。
Next, the configuration and operation of the # 1 encode
ビデオデータ入力回路191は、分割エンコード処理が実行されない場合、供給されたビデオデータをバッファ制御回路192に供給する。バッファ制御回路192は、図示しないクロック発生回路から供給される基本クロックに従って、入力されたビデオデータをビデオバッファ174に入力する。また、ビデオバッファ174に保存されているビデオデータを読み出し、エンコーダ193に出力する。
The video
エンコーダ193は、入力されたビデオデータをMPEGシンタックスに基づいてエンコードする。具体的には、エンコーダ193は、動き補償回路194から供給される動き補償情報を基に、動き補償を必要に応じて実行した後、マクロブロック単位で離散コサイン変換(DCT)処理を施し、時間領域のデータから周波数領域のデータに変換して、量子化インデックスQで量子化する。そして、量子化データを可変長符号化して、得られた符号化データを、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングするとともに、量子化データを逆量子化して、逆DCT処理を施して、ローカルデコード画を得、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングする。
The
動き補償回路194は、動き検出部と動き補償部とから構成され、動き検出部において圧縮対象となるピクチャ(入力ピクチャ)の注目マクロブロックと、参照されるピクチャ(参照ピクチャ)との間の差分値の絶対値和あるいは自乗値和が最小となるようなマクロブロックが探索されて、動きベクトルが求められ、動き補償部において、ストリーム/参照画バッファ175に蓄積されたローカルデコード画に対して、動き検出部から供給される動きベクトルに基づいて動き補償処理が行われる。
The
具体的には、エンコーダ193によりIピクチャがエンコードされる場合には、動きベクトル演算は実行されないが、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングされる。そして、エンコーダ193によりPピクチャがエンコードされる場合には、ストリーム/参照画バッファ175にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるとともに、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングされる。そして、エンコーダ193によりBピクチャがエンコードされる場合には、ストリーム/参照画バッファ175にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるが、ローカルデコード画の生成およびバッファリングは実行されない。
Specifically, when an I picture is encoded by the
また、ビデオデータ入力回路191は、分割エンコード処理が実行される場合、供給されたビデオデータのうちのエンコード処理を行う領域を認識し、バッファ制御回路192に供給する。バッファ制御回路192は、図示しないクロック発生回路から供給される基本クロックに従って、入力されたビデオデータのうちのエンコード処理を行う領域をビデオバッファ174に入力する。また、ビデオバッファ174に保存されているビデオデータを読み出し、エンコーダ193に出力する。
In addition, when the division encoding process is executed, the video
エンコーダ193は、入力されたビデオデータをMPEGシンタックスに基づいてエンコードする。具体的には、エンコーダ193は、動き補償回路194から供給される動き補償情報を基に、動き補償を必要に応じて実行した後、マクロブロック単位に離散コサイン変換(DCT)処理を施し、時間領域のデータから周波数領域のデータに変換して、量子化インデックスQで量子化する。そして、量子化データを可変長符号化して、得られた符号化データを、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングするとともに、量子化データを逆量子化して、逆DCT処理を施して、ローカルデコード画を得、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングする。
The
動き補償回路194は、動き検出部と動き補償部とから構成され、動き検出部において圧縮対象となるピクチャ(入力ピクチャ)の注目マクロブロックと、参照されるピクチャ(参照ピクチャ)との間の差分値の絶対値和あるいは自乗値和が最小となるようなマクロブロックが探索されて、動きベクトルが求められ、動き補償部において、ストリーム/参照画バッファ175に蓄積されたローカルデコード画に対して、動き検出部から供給される動きベクトルに基づいて動き補償処理が行われる。
The
具体的には、エンコーダ193によりIピクチャがエンコードされる場合には、動きベクトル演算は実行されないが、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングされる。そして、エンコーダ193によりPピクチャがエンコードされる場合には、ストリーム/参照画バッファ175にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるとともに、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路195を介してストリーム/参照画バッファ175にバッファリングされる。そして、エンコーダ193によりBピクチャがエンコードされる場合には、ストリーム/参照画バッファ175にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるが、ローカルデコード画の生成およびバッファリングは実行されない。
Specifically, when an I picture is encoded by the
バッファ制御回路195はまた、チップ間インタフェース196を介して#2エンコードチップ176から供給されるローカルデコード画を、ストリーム/参照画バッファ175に入力する。バッファ制御回路195はまた、動き補償回路194から指定された参照画素データとなるローカルデコード画を、ストリーム/参照画バッファ175に保存されているローカルデコード画から読み出して、動き補償回路194に供給する。バッファ制御回路195はまた、ストリーム/参照画バッファ175に保存されている符号化されたデータを読み出して、出力回路197に供給する。また、バッファ制御回路195は、ストリーム/参照画バッファ175に保存されているローカルデコード画のうち、#2エンコードチップ176のエンコード処理の参照画素として用いられる領域(動きベクトルの探索範囲)のローカルデコード画を読み出し、チップ間インタフェース196を介して、#2エンコードチップ176に供給する。
The
出力回路197は、エンコードされた符号化データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路195を介して、ストリーム/参照画バッファ175から符号化データを読み出して出力する。
The
また、#2エンコードチップ176のビデオデータ入力回路211乃至出力回路217の機能は、基本的に、#1エンコードチップ173のビデオデータ入力回路191乃至出力回路197と同一であり、#2エンコードチップ176の動作も、基本的に#1エンコードチップ173と同一であるので、その詳細な説明は省略する。
The functions of the video
そして、#1エンコードチップ173のチップ間インタフェース196と#2エンコードチップ176のチップ間インタフェース216とのデータの授受は、チップ間インタフェース196からチップ間インタフェース216へデータを供給する、例えば、データバスなどのインタフェースと、チップ間インタフェース216からチップ間インタフェース196へデータを供給する、例えば、データバスなどのインタフェースとがそれぞれ独立したインタフェース(専用線)として、他のデータの授受に用いられないようになされていると好適である。
Data exchange between the
エンコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース196からチップ間インタフェース216へデータを供給するインタフェースと、チップ間インタフェース216からチップ間インタフェース196へデータを供給するインタフェースとが、それぞれ独立している(データバスなどのインタフェースを共有していない)場合、バッファ制御回路195によりストリーム/参照画バッファ175から読み出された画素データは、逆方向の(すなわち、チップ間インタフェース216からチップ間インタフェース196への)データの供給にかかわらず、チップ間インタフェース196からチップ間インタフェース216へ送出可能であり、バッファ制御回路215によりストリーム/参照画バッファ178から読み出された画素データは、逆方向の(すなわち、チップ間インタフェース196からチップ間インタフェース216への)データの供給にかかわらず、チップ間インタフェース216からチップ間インタフェース196へ送出可能である。すなわち、このような構成においては、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
An interface for connecting the encoding chips, that is, an interface for supplying data from the
具体的には、データバスなどのインタフェースを共有している場合、インタフェースが他のデータの授受に用いられている場合の待ち時間が必要となるのみならず、他のエンコードチップへデータを送出する前に、アドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを行うための制御信号等をエンコードチップ間で授受し、授受した制御信号を基に、データの授受の各種設定を行わなければならないため、これらの処理のための時間が必要となってしまう。これに対して、データバスなどのインタフェースを共有していない場合、他のデータの授受のために待ち時間が発生しないのみならず、データの送出前の処理が必要ではないため、同量のデータを同一の時間で他のエンコードチップに送出するのに、データバスなどのインタフェースを共有する場合などと比較して、データの転送速度を低速化することが可能となる。 Specifically, when an interface such as a data bus is shared, not only a waiting time is required when the interface is used to exchange other data, but the data is sent to another encoding chip. Before, send and receive control signals between the encoding chips for address control, timing to occupy the data bus, control of data transfer timing, etc., and make various settings for data transfer based on the transferred control signals Since this must be done, time is required for these processes. On the other hand, if the interface such as the data bus is not shared, there is no waiting time for sending / receiving other data, and no processing before sending data is required. Can be transmitted to other encoding chips at the same time, compared to the case where an interface such as a data bus is shared, etc., and the data transfer rate can be reduced.
なお、チップ間インタフェース196とチップ間インタフェース216とを結ぶインタフェースは、例えば、#1エンコードチップ173と#2エンコードチップ176が実装されている基板上において、それぞれのチップの入出力端子をパターン接続すればよいため、それぞれのパターンを独立して用意しても、そのために必要となるハードウェアの実装上のコストは非常に安価である。
The interface connecting the
なお、分割エンコード処理が実行される場合の、動き補償のための参照データの授受については、基本的に、図11乃至図14を用いて説明した、分割デコード処理における場合と同様である。 Note that the transfer of reference data for motion compensation when the division encoding process is executed is basically the same as in the case of the division decoding process described with reference to FIGS.
次に、図25のフローチャートを参照して、エンコーダ切り替え判断処理について説明する。 Next, the encoder switching determination process will be described with reference to the flowchart of FIG.
ステップS101において、CPU40は、CPU31から、ノースブリッジ32、PCIバス34、PCIブリッジ37、および、コントロールバス39を介して供給された、エンコードされるビデオデータの種類やエンコード方式に関する情報を取得する。
In step S <b> 101, the
ステップS102において、CPU40は、1チップでエンコードが可能であるか否かを判断する。
In step S102, the
1チップでエンコードが可能であるか否かは、例えば、プロファイルおよびレベルにより決まる符号化難易度などを基に判断可能である。 Whether or not encoding is possible with one chip can be determined based on, for example, the level of difficulty of encoding determined by the profile and level.
ステップS102において、1チップでエンコードが可能であると判断された場合、ステップS103において、CPU40は、通常のエンコード処理を実行するものとして、エンコーダユニット44を制御し、処理が終了される。
When it is determined in step S102 that encoding can be performed with one chip, in step S103, the
ステップS102において、1チップでエンコードが可能でないと判断された場合、ステップS104において、図26を用いて後述する分割エンコード処理が実行されて、処理が終了される。 If it is determined in step S102 that encoding cannot be performed by one chip, in step S104, a division encoding process described later with reference to FIG.
このような処理により、エンコードの各種条件に基づいて、分割エンコード処理が実行されるか、通常のエンコード処理が実行されるかが決定される。 By such processing, it is determined whether the divided encoding processing or the normal encoding processing is executed based on various encoding conditions.
次に、図26のフローチャートを参照して、図25のステップS104において実行される分割エンコード処理について説明する。 Next, the division encoding process executed in step S104 of FIG. 25 will be described with reference to the flowchart of FIG.
ステップS141において、符号化処理部52−1乃至52−nは、ビデオデータを構成する画像データの供給を受ける。 In step S141, the encoding processing units 52-1 to 52-n are supplied with image data constituting video data.
ステップS142において、供給された画像データが#1エンコーダチップ173および#2エンコーダチップ176にそれぞれ供給される。
In step S142, the supplied image data is supplied to # 1
ステップS143において、図27を用いて後述する分割画像エンコード処理が実行される。 In step S143, a divided image encoding process to be described later with reference to FIG. 27 is executed.
ステップS144において、#1エンコーダチップ173の出力回路197および#2エンコーダチップ176の出力回路217は、エンコードされて、ストリーム/参照画バッファ175、または、ストリーム/参照画バッファ178にバッファリングされたフレームデータを読み出して、合成処理部179に出力する。
In step S144, the
ステップS145において、合成処理部179は、#1エンコーダチップ173の出力回路197および#2エンコーダチップ176の出力回路217から、エンコードされた分割画像フレームの供給を受け、出力信号選択部180を介して出力し、処理が終了される。
In step S145, the synthesis processing unit 179 receives the encoded divided image frames supplied from the
このような処理により、図24を用いて説明した符号化処理部52は、画像データを分割して、2つのデコーダチップを用いてそれぞれデコードすることができる。1画像の符号化難易度が2等分となるようにエンコード領域が任視されている場合、符号化処理部52は、いずれか一方でエンコード処理が実行される場合と比較して、2倍速でエンコード処理を実行することが可能となる。
By such processing, the
次に、図27のフローチャートを参照して、図26のステップS143において実行される、分割画像エンコード処理について説明する。 Next, the divided image encoding process executed in step S143 in FIG. 26 will be described with reference to the flowchart in FIG.
ステップS181において、#1エンコードチップ173のビデオデータ入力回路191および#2エンコーダチップ176のビデオデータ入力回路211は、ビデオデータを構成する画像データの供給を受けるとともに、コントローラ171から、エンコードのピクチャタイプの指令を受ける。
In step S181, the video
ステップS182において、#1エンコードチップ173のビデオデータ入力回路191および#2エンコーダチップ176のビデオデータ入力回路211は、例えば、図10を用いて説明したフレームの分割における場合と同様にして、エンコード範囲を抽出し、抽出した部分を、バッファ制御回路192およびバッファ制御回路212にそれぞれ供給する。
In step S182, the video
ステップS183において、バッファ制御回路192およびバッファ制御回路212は、供給されたデータを、ビデオバッファ174およびビデオバッファ177にそれぞれバッファリングする。
In step S183, the
ステップS184において、バッファ制御回路192およびバッファ制御回路212は、バッファリングされたデータを読み出して、エンコーダ193およびエンコーダ213にそれぞれ供給する。
In step S184, the
ステップS185において、エンコーダ193およびエンコーダ213は、供給されたデータは、Iピクチャにエンコードされるか否かを判断する。ステップS185において、Iピクチャにエンコードされないと判断された場合、処理は、後述するステップS190に進む。
In step S185, the
ステップS185において、Iピクチャにエンコードされると判断された場合、ステップS186において、エンコーダ193およびエンコーダ213は、供給された範囲をエンコードする。
If it is determined in step S185 that the data is encoded into an I picture, the
ステップS187において、エンコーダ193およびエンコーダ213は、エンコード処理において生成されたローカルデコード画像を、参照用に、バッファ制御回路195または215を介して、ストリーム/参照画バッファ175または178にそれぞれ供給する。
In step S187, the
ステップS188において、バッファ制御回路195およびバッファ制御回路215は、コピーする部分のローカルデコード画を、ストリーム/参照画バッファ175または178からそれぞれ読み出して、チップ間インタフェース196または216を介して、他のエンコーダチップにそれぞれ供給する。
In step S188, the
ステップS189において、チップ間インタフェース196およびチップ間インタフェース216は、供給されたローカルデコード画を、バッファ制御回路195およびバッファ制御回路215にそれぞれ供給するので、バッファ制御回路195およびバッファ制御回路215は、他のエンコーダから供給されたローカルデコード画を、ストリーム/参照画バッファ175または178にそれぞれ供給して、処理は、図26のステップS143に戻り、ステップS144に進む。
In step S189, the
ステップS185において、Iピクチャにエンコードされないと判断された場合、ステップS190において、エンコーダ193およびエンコーダ213は、供給されたデータは、Pピクチャにエンコードされるか否かを判断する。ステップS190において、Pピクチャにエンコードされないと判断された場合、Bピクチャにエンコードされるので、処理は、後述するステップS195に進む。
If it is determined in step S185 that it is not encoded into an I picture, in step S190, the
ステップS190において、Pピクチャにエンコードされると判断された場合、ステップS191において、エンコーダ193およびエンコーダ213は、ストリーム/参照画バッファ175または178にそれぞれ蓄積された参照用のローカルデコード画を用いて動き補償を行うことにより、供給された範囲をエンコードする。
If it is determined in step S190 that the P picture is encoded, in step S191, the
ステップS192において、エンコーダ193およびエンコーダ213は、エンコード処理において生成されたローカルデコード画像を、参照用に、バッファ制御回路195または215を介して、ストリーム/参照画バッファ175または178にそれぞれ供給する。
In step S192, the
ステップS193において、バッファ制御回路195およびバッファ制御回路215は、コピーする部分のローカルデコード画を、ストリーム/参照画バッファ175または178からそれぞれ読み出して、チップ間インタフェース196または216を介して、他のエンコーダチップにそれぞれ供給する。
In step S193, the
ステップS194において、チップ間インタフェース196およびチップ間インタフェース216は、供給されたローカルデコード画を、バッファ制御回路195およびバッファ制御回路215にそれぞれ供給するので、バッファ制御回路195およびバッファ制御回路215は、他のエンコーダから供給されたローカルデコード画を、ストリーム/参照画バッファ175または178にそれぞれ供給して、処理は、図26のステップS143に戻り、ステップS144に進む。
In step S194, the
ステップS190において、Pピクチャにエンコードされないと判断された場合、Bピクチャにエンコードされるので、ステップS195において、エンコーダ193およびエンコーダ213は、ストリーム/参照画バッファ175または178にそれぞれ蓄積された参照用のローカルデコード画を用いて動き補償を行うことにより、供給された範囲をエンコードし、処理は、図26のステップS143に戻り、ステップS144に進む。
If it is determined in step S190 that it is not encoded into a P picture, it is encoded into a B picture. Therefore, in step S195, the
このような処理により、#1エンコードチップ173および#2エンコーダチップ176のそれぞれにおいて、ピクチャタイプに基づいたエンコード処理が実行される。そして、そのとき、他方のエンコードチップにおいて参照画像として用いられるローカルデコードの画素データを、他方のエンコードチップに供給するとともに、他方のエンコードチップから供給されるローカルデコードの参照画像を自分自身が参照可能なビデオバッファに供給して保存させ、参照画像として利用することができる。
By such processing, encoding processing based on the picture type is executed in each of the # 1
例えば、エンコーダチップによっては、1個のエンコーダでは低解像度のエンコードしかできないものもある。2つのエンコーダチップは、高解像度のプロファイルレベルにおいては、分割エンコード処理を実行して、エンコード処理が間に合わなかったり、画像に影響を及ぼしてしまうことを防ぐことができ、一方、低解像度のプロファイルレベルの場合には、入力可能なチャンネル数を増やすことが可能となる。 For example, some encoder chips can only encode low resolution with one encoder. The two encoder chips can perform a split encoding process at high resolution profile levels to prevent the encoding process from being in time or affecting the image, while the low resolution profile level. In this case, the number of input channels can be increased.
また、ノンリニア編集機の動作には、エンコード処理を伴うデジタイズ動作と、デコード処理を伴うプレイアウト動作がある。デジタイズ動作とプレイアウト動作は、時間的に同時でないことが多い。つまりエンコード処理とデコード処理は、時間的に同時でないことが多い。 Nonlinear editing machine operations include a digitizing operation with an encoding process and a playout operation with a decoding process. The digitizing operation and the playout operation are often not simultaneous in time. That is, the encoding process and the decoding process are often not simultaneous in time.
例えば、エンコーダとデコーダがひとつのチップに内蔵されたコーディックチップがある。このようなコーディックチップでは、エンコーダとデコーダとの構成の一部を共有しているため、エンコーダとして利用されるか、デコーダとして利用されるかの、いずれか一方を選択可能なようになされている。このようなコーディックチップをノンリニア編集機で利用する場合、エンコーダが必要とする個数分のコーディックチップと、デコーダが必要とする個数分のコーディックチップの総和を持つのは冗長である。 For example, there is a codec chip in which an encoder and a decoder are built in one chip. In such a codec chip, since a part of the configuration of the encoder and the decoder is shared, either the encoder or the decoder can be selected. . When such codec chips are used in a non-linear editing machine, it is redundant to have the sum of the number of codec chips required by the encoder and the number of codec chips required by the decoder.
そこで、コーディックをエンコーダとデコーダの両方に使えるようにして、たとえば、CPU40がコーディックチップを制御して、エンコーダとして用いるかデコーダとして用いるかを切り替えることができるようにすることで、ノンリニア編集機の動作状況に応じて、エンコードとデコードへのコーディックの割り当てを変えることが可能になる。
Therefore, by making the codec usable for both the encoder and the decoder, for example, the
具体的には、例えば、プレイバック時には、エンコーダが必要としないコーディックをデコーダとして動作させることで再生トラックを多くとることができ、デジタイズ時には、デコーダが必要としないコーディックをエンコーダとして動作させることで記録チャンネル数を多く取ることができる。 Specifically, for example, at the time of playback, a codec that is not required by the encoder can be operated as a decoder so that a large number of playback tracks can be obtained. At the time of digitization, recording can be performed by operating a codec that is not required by the decoder as an encoder. A large number of channels can be taken.
以上説明したように、本発明を適用することにより、デコード処理において、処理量が大きい場合に、複数個のデコーダチップをその処理に充てるようにすることが可能である。これにより、例えば、デコード処理の処理量の大きいIPBピクチャで構成されたフォーマットのストリームをデコードしてスクラブ再生する場合には、1つのストリームのデコード処理に複数個のデコーダを割り当てることで、スクラブに必要な性能を確保することができ、処理量の低いフォーマットの場合には1つのデコード処理に1個のデコーダを割り当てることで、余ったデコーダを他のデコード処理に回すことができ、再生トラック数を増やすことが可能となる。 As described above, by applying the present invention, it is possible to use a plurality of decoder chips for the decoding process when the processing amount is large. As a result, for example, when a stream of a format composed of IPB pictures with a large amount of decoding processing is decoded and played back by scrubbing, by assigning a plurality of decoders to one stream decoding processing, scrubbing can be performed. The required performance can be ensured, and in the case of a format with a low processing amount, by assigning one decoder to one decoding process, the remaining decoder can be used for another decoding process, and the number of playback tracks Can be increased.
また、本発明を適用することにより、エンコード処理において、処理量が大きい場合に、複数個のエンコーダをその処理に充てることができる。これにより、エンコーダチップのエンコード処理能力を超えたプロファイルレベルのエンコードが要求された場合にも1つのビデオデータのエンコード処理に複数個のコーディックを割り当てることで対応でき、処理量の小さなフォーマットの場合には1つのビデオデータのエンコード処理に1個のエンコーダを割り当てることで、余ったエンコーダを他のビデオデータのエンコード処理に回すことができ、エンコーダを効率よく活用できる。 Further, by applying the present invention, when the processing amount is large in the encoding process, a plurality of encoders can be used for the process. As a result, even when a profile level encoding exceeding the encoding processing capability of the encoder chip is required, a plurality of codecs can be allocated to the encoding processing of one video data. By assigning one encoder to encoding processing of one video data, the remaining encoder can be used for encoding processing of other video data, and the encoder can be used efficiently.
さらに、エンコーダとデコーダがひとつのチップに内蔵されたコーディックチップを用いる場合においても、本発明は適用可能であることはいうまでもない。このようなコーディックチップは、例えば、動作状況に応じてエンコードとデコードへのコーディックの割り当てを変更することができる。これにより、再生時にはすべてのコーディックをデコードに割り当てることで再生トラック数を多くとることができ、記録時にはコーディックをエンコードに割り当てることで記録チャンネル数を多くとることができる。 Furthermore, it goes without saying that the present invention can also be applied to a case where a codec chip in which an encoder and a decoder are incorporated in one chip is used. Such a codec chip can change the allocation of the codec to encoding and decoding, for example, according to the operation situation. As a result, the number of playback tracks can be increased by assigning all the codecs to decoding during playback, and the number of recording channels can be increased by assigning the codecs to encoding during recording.
このように、本発明を適用して、エンコーダやデコーダに切り替え手段を用いることで、処理量に応じてチャンネル数を変化させることが可能になり、エンコーダやデコーダの能力を有効に活用することが可能になる。したがって、従来より少ない個数のエンコーダやデコーダで、映像装置の性能を向上させることが可能になる。 Thus, by applying the present invention and using the switching means for the encoder or decoder, the number of channels can be changed according to the processing amount, and the ability of the encoder or decoder can be effectively utilized. It becomes possible. Therefore, the performance of the video apparatus can be improved with a smaller number of encoders and decoders than in the past.
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、例えば、図1を用いて説明した編集装置21は、図28に示されるようなパーソナルコンピュータ201により構成される。
The series of processes described above can also be executed by software. The software is a computer in which the program constituting the software is incorporated in dedicated hardware, or various functions can be executed by installing various programs, for example, a general-purpose personal computer For example, it is installed from a recording medium. In this case, for example, the
図28において、CPU(Central Processing Unit)211は、ROM(Read Only Memory)212に記憶されているプログラム、または記憶部218からRAM(Random Access Memory)213にロードされたプログラムにしたがって、各種の処理を実行する。RAM213にはまた、CPU211が各種の処理を実行する上において必要なデータなども適宜記憶される。
In FIG. 28, a CPU (Central Processing Unit) 211 performs various processes according to a program stored in a ROM (Read Only Memory) 212 or a program loaded from a storage unit 218 to a RAM (Random Access Memory) 213. Execute. The
CPU211、ROM212、およびRAM213は、バス214を介して相互に接続されている。このバス214にはまた、入出力インタフェース215も接続されている。
The
入出力インタフェース215には、キーボード、マウスなどよりなる入力部216、ディスプレイやスピーカなどよりなる出力部217、ハードディスクなどより構成される記憶部218、モデム、ターミナルアダプタなどより構成される通信部219が接続されている。通信部219は、インターネットを含むネットワークを介しての通信処理を行う。
The input /
入出力インタフェース215にはまた、必要に応じてドライブ220が接続され、磁気ディスク231、光ディスク232、光磁気ディスク233、もしくは、半導体メモリ234などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部218にインストールされる。
A drive 220 is connected to the input /
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。 When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a network or a recording medium into a general-purpose personal computer or the like.
この記録媒体は、図28に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク231(フロッピディスクを含む)、光ディスク232(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク233(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ234などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM212や、記憶部218に含まれるハードディスクなどで構成される。
As shown in FIG. 28, this recording medium is distributed to supply a program to the user separately from the main body of the apparatus, and includes a magnetic disk 231 (including a floppy disk) on which the program is stored, an optical disk 232 ( Package media including CD-ROM (compact disk-read only memory), DVD (including digital versatile disk), magneto-optical disk 233 (including MD (mini-disk) (trademark)), or
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
更に、上述した一連の処理は、複数のサブCPUコアを用いて並列に実行させることによっても実現可能である。この場合、例えば、図6を用いて説明した編集装置21は、図29に示されるような編集システムにより構成される。
Furthermore, the series of processes described above can also be realized by executing in parallel using a plurality of sub CPU cores. In this case, for example, the
図29に示すように、図6の編集装置21に対応する編集システムは、編集装置281、編集装置281とPCIバス282によって接続された、記憶装置283および複数台のビデオテープレコーダ(VTR)284−1乃至284−S、並びに、ユーザがこれらに対する操作入力を行うためのマウス285、キーボード286、および、操作コントローラ287から構成されている。
As shown in FIG. 29, the editing system corresponding to the
この編集システムでは、記憶装置283に取り込まれた動画コンテンツを所望状態につなぎ合わせて所望の編集映像音声を得ることができ、その結果得られた編集映像及び編集音声を新たなクリップとして、RAID(Redundant Arrays of Independent Disks)でなる大容量の記憶装置283に蓄積したり、ビデオテープレコーダ284−1乃至284−Sを介してビデオテープに記録し得るようになされている。また、ビデオテープレコーダ284−1乃至284−Sに装着されたビデオテープに記録された静止画コンテンツについても記憶装置283に取り込み得るようになされている。
In this editing system, the moving image content captured in the
編集装置281は、マイクロプロセッサ301、GPU(Graphics Processing Unit)302、XDR(Extreme Data Rate)−RAM303、サウスブリッジ304、HDD305、USBインタフェース306およびサウンド入出力コーディック307を含んで構成されている。
The editing device 281 includes a
編集装置281においては、マイクロプロセッサ301に対してGPU302、XDR−RAM303およびサウスブリッジ304が接続されるとともに、サウスブリッジ304にHDD305、USBインタフェース306、および、サウンド入出力コーディック307が接続されている。このサウンド入出力コーディック307にはスピーカ321が接続されている。また、GPU302にはディスプレイ322が接続されている。
In the editing apparatus 281, the
またサウスブリッジ304には、PCIバス282を介して、マウス285、キーボード286、ビデオテープレコーダ284−1乃至284−S、記憶装置283、および、操作コントローラ287が接続されている。
In addition, a
マウス285およびキーボード286は、ユーザの操作入力を受け、PCIバス282およびサウスブリッジ304を介して、ユーザの操作入力の内容を示す信号を、マイクロプロセッサ301に供給する。記憶装置283およびビデオテープレコーダ284−1乃至284−Sは、所定のデータを記録または再生できるようになされている。
The
マイクロプロセッサ301は、OS(Operating System)等の基本プログラムを実行する汎用のメインCPUコア341と、メインCPUコア341に内部バス345を介して接続された複数(この場合8個)のRISC(Reduced Instruction Set Computer)タイプの信号処理プロセッサ(以下、これをサブCPUコアと称する)342−1乃至342−8と、例えば256[MByte]の容量を持つXDR−RAM303に対するメモリコントロールを行うメモリコントローラ343と、サウスブリッジ304との間でデータの入出力を管理するI/O(In/Out)コントローラ344とが1チップに集積されたマルチコア構成でなり、例えば動作周波数4[GHz]を実現している。
The
この編集装置281のマイクロプロセッサ301は、例えば、MPEG、JPEG(Joint Photographic Experts Group)2000、H.264/AVC(Advanced Video Coding)等のコーディックの役割を担い、エンコードの結果得られた符号化ストリームを、サウスブリッジ304を介して、HDD305に供給して記憶させたり、デコードした結果得られる動画または静止画のコンテンツの再生映像を、GPU302へデータ転送して、ディスプレイ322に表示させることができるとともに、コーディック処理に関する物理演算等を行うようになされている。
The
また、マイクロプロセッサ301は、処理されるベースバンド信号または符号化ストリームが有する種々のパラメータを抽出する処理も実行可能なようになされている。
The
特に、マイクロプロセッサ301では、8個のサブCPUコア342−1乃至342−8が、エンコーダユニットを構成するエンコーダの役割をそれぞれ担い、8個のサブCPUコア342−1乃至342−8が、ベースバンド信号を同時並列的にエンコードすることが可能である。
In particular, in the
このように、マイクロプロセッサ301は、8個のサブCPUコア342−1乃至342−8によって同時並列的にエンコード処理を実行することができるようになされている。
As described above, the
また、マイクロプロセッサ301の8個のサブCPUコア342−1乃至342−8は、そのうちの一部がエンコード処理を、他の部分がデコード処理を、同時並列的に実行することも可能である。
Also, the eight sub CPU cores 342-1 to 342-8 of the
例えば、PCIバス282に、独立したエンコーダまたはデコーダ、もしくは、コーディック処理装置が接続されている場合、更に、マイクロプロセッサ301の8個のサブCPUコア342−1乃至342−8は、サウスブリッジ304およびPCIバス282を介して、これらの装置が実行する処理を制御することができるようになされている。これらの装置が複数接続されている場合、または、これらの装置が複数のデコーダまたはエンコーダを含んでいる場合、マイクロプロセッサ301の8個のサブCPUコア342−1乃至342−8は、複数のデコーダまたはエンコーダが実行する処理を、分担して制御することが可能である。
For example, when an independent encoder or decoder or a codec processing device is connected to the PCI bus 282, the eight sub CPU cores 342-1 to 342-8 of the
またメインCPUコア341は、8個のサブCPUコア342−1乃至342−8が行う以外の処理や管理を行うようになされており、サウスブリッジ304を介してマウス285、キーボード286、または、操作コントローラ287から供給された命令を受け付け、命令に応じた種々の処理を実行する。
The
すなわち、マイクロプロセッサ301は、起動時、HDD305に格納された制御プログラムに基づき、HDD305に格納されている必要なアプリケーションプログラムを読み出してXDR−RAM303に展開し、この後このアプリケーションプログラム及びオペレータ操作に基づいて必要な制御処理を実行する。
That is, at the time of startup, the
GPU302は、ディスプレイ322に表示する動画コンテンツの再生映像を動かすときのテクスチャの張り込みなどに関する最終的なレンダリング処理に加えて、動画コンテンツの再生映像及び静止画コンテンツの静止画像をディスプレイ322に一度に複数表示するときの座標変換計算処理や、動画コンテンツの再生映像及び静止画コンテンツの静止画像に対する拡大・縮小処理等を行う機能を司り、マイクロプロセッサ301の処理負担を軽減させるようになされている。
In addition to final rendering processing related to texture embedding when moving the playback video of the moving image content displayed on the
GPU302は、マイクロプロセッサ301の制御のもとに、供給された動画コンテンツの映像データや静止画コンテンツの画像データに対して所定の信号処理を施し、その結果得られた映像データや画像データをディスプレイ322へ送出して、画像信号をディスプレイ322へ表示させる。
Under the control of the
ところで、マイクロプロセッサ301における8個のサブCPUコア342−1乃至342−8で同時並列的にデコードされた複数の動画コンテンツにおける再生映像は、バス311を介してGPU302へデータ転送されるのだが、このときの転送速度は、例えば、最大30[Gbyte/sec]であり、特殊効果の施された複雑な再生映像であっても高速かつ滑らかに表示し得るようになされている。
By the way, the playback video in a plurality of video contents decoded in parallel in parallel by the eight sub CPU cores 342-1 to 342-8 in the
一方、マイクロプロセッサ301は、動画コンテンツの映像データ及び音声データのうち音声データに対して音声ミキシング処理を施し、その結果得られた編集音声データを、サウスブリッジ304およびサウンド入出力コーディック307を介して、スピーカ321へ送出することにより、音声信号に基づく音声をスピーカ321から出力させることもできる。
On the other hand, the
上述した一連のエンコード処理は、このような編集システムのマイクロプロセッサ301が有する、複数のサブCPUコアを用いて並列に実行、または、制御させることによっても実現可能である。
The series of encoding processes described above can also be realized by executing or controlling in parallel using a plurality of sub CPU cores included in the
なお、上述の実施の形態においては、編集装置21が、それぞれ、デコーダとエンコーダを有しているものとして説明したが、デコーダおよびエンコーダが、それぞれ、独立した装置として構成されている場合においても、本発明は適用可能である。例えば、図30に示されるように、ストリームデータを復号してベースバンド信号に変換する復号装置371、ベースバンド信号を符号化してストリームデータに変換する符号化装置372が、それぞれ独立した装置として構成されていても良い。
In the above-described embodiment, the
このとき、復号装置371は、映像素材である圧縮符号化データを復号し、符号化装置372に供給するのみならず、本発明を適用することにより符号化装置372により部分的に符号化された後、編集されて生成された圧縮符号化データの供給を受け、復号処理を行い、ベースバンド信号に変換することができる。ベースバンド信号に変換された編集後のストリームは、例えば、所定の表示装置に供給されて表示されたり、他の装置に出力されて、必要な処理が施される。
At this time, the
さらに、上述の実施の形態においては、デコーダユニット22が、供給された圧縮符号化データを完全にデコードせず、対応するエンコーダユニット24が、非完全に復号されたデータの対応する部分を部分的にエンコードする場合においても、本発明は適用可能である。 Furthermore, in the above-described embodiment, the decoder unit 22 does not completely decode the supplied compressed encoded data, and the corresponding encoder unit 24 partially converts the corresponding portion of the non-completely decoded data. The present invention can also be applied to the case of encoding to the above.
例えば、デコーダユニット22が、VLC符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していなかった場合、エンコーダユニット24は、量子化および可変長符号化処理を行うが、DCT変換処理は行わない。このような部分的な符号化(中途段階からの符号化)を行うエンコーダにおいても、本発明を適用することができるのは言うまでもない。 For example, when the decoder unit 22 only performs decoding and inverse quantization on the VLC code and has not performed inverse DCT transform, the encoder unit 24 performs quantization and variable length coding processing, but DCT transform processing Do not do. It goes without saying that the present invention can also be applied to an encoder that performs such partial encoding (encoding from an intermediate stage).
さらに、上述の実施の形態においては、デコーダユニット22が完全に復号したベースバンド信号を、エンコーダユニット24が中途段階まで符号化する場合(例えば、DCT変換および量子化を行うが可変長符号化処理を行わないなど)や、デコーダユニット22が完全に復号していない(例えば、VLC符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していない)ため、中途段階まで符号化されているデータに対して、エンコーダユニット24が更に中途段階まで符号化する場合など(例えば、量子化を行うが可変長符号化処理を行わないなど)においても、本発明は適用可能である。 Furthermore, in the above-described embodiment, when the baseband signal completely decoded by the decoder unit 22 is encoded to the middle stage (for example, DCT transform and quantization are performed but variable length encoding processing is performed). The decoder unit 22 is not completely decoded (for example, only decoding and inverse quantization are performed on the VLC code, and no inverse DCT transform is performed), so that the coding is performed halfway. The present invention can also be applied to the case where the encoder unit 24 further encodes the existing data to an intermediate stage (for example, quantization is performed but variable length encoding processing is not performed).
更に、図30に示される復号装置371が、供給されたストリームデータを完全に復号せず、対応する符号化装置372が、非完全に復号されたデータの対応する部分を部分的に符号化する場合においても、本発明は適用可能である。
Further, the
例えば、復号装置371が、VLC符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していなかった場合、符号化装置372は、量子化および可変長符号化処理を行うが、DCT変換処理は行わない。このような部分的な復号処理(中途段階までの復号)を行う復号装置371のデコード処理、および、符号化(中途段階からの符号化)を行う符号化装置372のエンコード処理において、本発明を適用することができるのは言うまでもない。
For example, when the
更に、復号装置371が完全に復号したベースバンド信号を、符号化装置372が中途段階まで符号化する場合(例えば、DCT変換および量子化を行うが可変長符号化処理を行わないなど)や、復号装置371が完全に復号していない(例えば、VLC符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していない)ため、中途段階まで符号化されているデータに対して、符号化装置372が更に中途段階まで符号化する場合など(例えば、量子化を行うが可変長符号化処理を行わないなど)においても、本発明は適用可能である。
Further, when the
更に、このような部分的な復号を行う(復号処理の工程のうちの一部を実行する)符号化装置31と部分的な符号化を行う(符号化処理の工程のうちの一部を実行する)符号化装置372で構成されたトランスコーダ381においても、本発明は適用可能である。このようなトランスコーダ381は、例えば、スプライシングなどの編集を行う編集装置382、すなわち、上述した編集装置21のストリームスプライサ25やエフェクト/スイッチ26が実行可能な機能を有する編集装置が利用される場合などに用いられる。
Furthermore, the
さらに、上述の実施の形態においては、CPU11およびCPU20がそれぞれ別の形態で構成されているが、これに限らず、編集装置21全体を制御する1つのCPUとして構成する形態も考えられる。同様に、上述の実施の形態においては、メモリ13およびメモリ21がそれぞれ別の形態で構成されているが、これに限らず、編集装置21において1つのメモリとして構成する形態も考えられる。
Furthermore, in the above-described embodiment, the CPU 11 and the CPU 20 are configured in different forms. However, the present invention is not limited to this, and a form configured as one CPU that controls the
さらに、上述の実施の形態においては、CPU11およびCPU20と、HDD16、デコーダユニット22、セレクタ23、および、エンコーダユニット24とを、それぞれ、ブリッジおよびバスを介して接続し、編集装置として一体化されている場合について述べたが、本発明はこれに限らず、例えば、これらの構成要素のうちの一部が、外部から有線または無線で接続されるようにしても良いし、これらの構成要素は、この他、種々の接続形態で相互に接続されるようにしてもよい。 Further, in the above-described embodiment, the CPU 11 and the CPU 20, and the HDD 16, the decoder unit 22, the selector 23, and the encoder unit 24 are connected via a bridge and a bus, respectively, and integrated as an editing device. However, the present invention is not limited to this, and for example, some of these components may be connected from the outside by wire or wirelessly. In addition, they may be connected to each other in various connection forms.
さらに、上述の実施の形態においては、圧縮符号化された符号化ストリーム、または、非圧縮のベースバンド信号がHDDに記憶されている場合について述べたが、本発明はこれに限らず、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体に記録された符号化ストリーム、または、ベースバンド信号を用いて処理を行う場合にも適用することができる。 Furthermore, in the above-described embodiment, the case where the encoded stream that has been compression-encoded or the non-compressed baseband signal is stored in the HDD has been described. However, the present invention is not limited to this. The present invention can also be applied to processing using encoded streams recorded on various recording media such as an optical disk, a magneto-optical disk, a semiconductor memory, and a magnetic disk, or a baseband signal.
さらに、上述の実施の形態においては、デコーダユニット22、セレクタ23、および、エンコーダユニット24は、同一の拡張カード(例えば、PCIカード、PCI−Expressカード)に搭載する形態に限らず、例えばPCI−Expressなどの技術によりカード間の転送速度が高い場合には、それぞれ別の拡張カードに搭載してもよい。 Furthermore, in the above-described embodiment, the decoder unit 22, the selector 23, and the encoder unit 24 are not limited to the form mounted on the same expansion card (for example, PCI card, PCI-Express card), for example, PCI- If the transfer rate between cards is high due to technologies such as Express, they may be mounted on separate expansion cards.
なお、デコーダユニット22、および、エンコーダユニット24で実行されるコーディックは、例えば、MPEG(HD-LONG GOP、または、MPEG IMXフォーマットなどを含む)、JPEG(Joint Photographic Experts Group)2000、H.264/AVC(Advanced Video Coding)等のコーディックの役割を担い、コーディック処理に関する物理演算等を行うものである。 The codec executed by the decoder unit 22 and the encoder unit 24 is, for example, MPEG (including HD-LONG GOP or MPEG IMX format), JPEG (Joint Photographic Experts Group) 2000, H.264 / It plays the role of a codec such as AVC (Advanced Video Coding), and performs physical operations related to codec processing.
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 In the present specification, the term “system” represents the entire apparatus constituted by a plurality of apparatuses.
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
21 編集装置, 31 CPU, 36 HDD, 40 CPU, 42 デコーダユニット, 44 エンコーダユニット, 51 復号処理部, 53 符号化処理部, 71 コントローラ,72 入力信号選択部, 73 #1デコードチップ, 75 ビデオバッファ, 76 #2デコードチップ, 78 ビデオバッファ, 79 合成処理部, 96 チップ間インタフェース, 116 チップ間インタフェース,171 コントローラ,172 入力信号選択部, 173 #1エンコードチップ, 175 ストリーム/参照画像バッファ, 176 #2エンコードチップ, 178 ストリーム/参照画像バッファ, 179 合成処理部, 196 チップ間インタフェース, 216 チップ間インタフェース 21 Editing Device, 31 CPU, 36 HDD, 40 CPU, 42 Decoder Unit, 44 Encoder Unit, 51 Decoding Processing Unit, 53 Coding Processing Unit, 71 Controller, 72 Input Signal Selection Unit, 73 # 1 Decoding Chip, 75 Video Buffer , 76 # 2 decode chip, 78 video buffer, 79 synthesis processing unit, 96 inter-chip interface, 116 inter-chip interface, 171 controller, 172 input signal selection unit, 173 # 1 encode chip, 175 stream / reference image buffer, 176 # 2 encoding chip, 178 stream / reference image buffer, 179 synthesis processing unit, 196 inter-chip interface, 216 inter-chip interface
Claims (12)
前記第2のコーディック処理手段により実行されるコーディック処理の難易度を基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する制御手段と
を備える画像処理装置。 A second codec processing means including a plurality of first codec processing means capable of dividing one screen and processing each;
Based on the difficulty level of the codec processing executed by the second codec processing unit, the plurality of first codec processing units included in the second codec processing unit respectively process different screens, or An image processing apparatus comprising: a control unit that determines whether to divide one screen and execute a codec in each.
前記制御手段は、前記デコード処理がIピクチャだけで構成されたストリームに対して実行されるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項1に記載画像処理装置。 The second codec processing means executes a decoding process;
The control means includes a plurality of first codec processing means included in the second codec processing means based on whether or not the decoding process is performed on a stream composed of only I pictures. The image processing apparatus according to claim 1, wherein it is determined whether to process different screens or to divide one screen and execute a codec in each screen.
前記制御手段は、前記デコード処理が、デコード処理の負荷の低い所定の再生処理であるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項1に記載画像処理装置。 The second codec processing means executes a decoding process;
In the plurality of first codec processing units included in the second codec processing unit, the control unit may determine whether the decoding process is a predetermined reproduction process with a low load of the decoding process. The image processing apparatus according to claim 1, wherein it is determined whether to process different screens or to divide one screen and execute codec in each of them.
前記制御手段は、前記デコード処理がフレームごとに間引いて実行されるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項1に記載画像処理装置。 The second codec processing means executes a decoding process;
The control means processes different screens in the plurality of first codec processing means included in the second codec processing means based on whether or not the decoding process is executed by thinning out for each frame. The image processing apparatus according to claim 1, wherein the image processing apparatus determines whether the codec is to be executed by dividing one screen.
前記制御手段は、前記デコード処理が、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理であるか否かを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項1に記載画像処理装置。 The second codec processing means executes a decoding process;
The control means includes the plurality of first codec included in the second codec processing means based on whether the decoding process is a decoding process for backward reproduction, high-speed reproduction, or scrub reproduction. The image processing apparatus according to claim 1, wherein the codec processing means determines whether to process different screens or to divide one screen and execute codecs on each screen.
前記制御手段は、前記エンコード処理におけるプロファイルおよびレベルを基に、前記第2のコーディック処理手段に含まれる前記複数の第1のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項1に記載画像処理装置。 The second codec processing means performs an encoding process,
The control unit causes each of the plurality of first codec processing units included in the second codec processing unit to process different screens based on the profile and level in the encoding process, or to process one screen. The image processing apparatus according to claim 1, wherein the image processing apparatus determines whether to divide and execute a codec in each of them.
前記画面の所定の領域のコーディックを実行するコーディック実行手段と、
自分自身の処理の結果得られた参照用の画素データのうち、他の前記第1のコーディック処理手段のコーディック処理に必要な画素データを他の前記第1のコーディック処理手段に供給するとともに、他の前記第1のコーディック処理手段において実行されたコーディック処理により得られた参照用の画素データのうち、自分自身の処理に必要な画素データを、他の前記第1のコーディック処理手段から取得する画素データ授受手段と
を備え、
前記コーディック実行手段は、自分自身の処理の結果得られた画素データ、および、前記画素データ授受手段により他の前記第1のコーディック処理手段から取得した画素データを参照することによりコーディック処理を実行する
請求項1に記載画像処理装置。 The first codec processing means of the second codec processing means is:
Codec execution means for executing a codec in a predetermined area of the screen;
Among the reference pixel data obtained as a result of its own processing, pixel data necessary for the codec processing of the other first codec processing unit is supplied to the other first codec processing unit, and other Among the reference pixel data obtained by the codec processing executed in the first codec processing means, the pixel for obtaining the pixel data necessary for its own processing from the other first codec processing means Data exchange means, and
The codec execution unit executes the codec process by referring to the pixel data obtained as a result of its own processing and the pixel data acquired from the other first codec processing unit by the pixel data transfer unit. The image processing apparatus according to claim 1.
前記コーディック実行手段は、前記記憶制御手段により前記記憶部への記憶が制御された画素データを参照することによりコーディック処理を実行する
請求項7に記載画像処理装置。 Memory for controlling storage of pixel data obtained as a result of codec processing executed by the codec execution unit or pixel data acquired from the other first codec processing unit by the pixel data transfer unit to the storage unit Further comprising control means,
The image processing apparatus according to claim 7, wherein the codec execution unit executes codec processing by referring to pixel data whose storage in the storage unit is controlled by the storage control unit.
前記コーディック実行手段のコーディック処理に必要な画素データは、前記画面において、前記コーディック実行手段がコーディックする前記所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データである
請求項7に記載画像処理装置。 The pixel data necessary for the codec processing of the other first codec processing means is relative to a motion compensation reference area included in another predetermined area coded by the other first codec processing means on the screen. Pixel data included in the motion vector search range,
The pixel data necessary for the codec processing of the codec execution unit is pixel data included in a motion vector search range with respect to a motion compensation reference region included in the predetermined region to be codeced by the codec execution unit on the screen. The image processing apparatus according to claim 7.
コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
ステップを含む画像処理方法。 An image processing method for executing a codec using a plurality of codec processing means capable of dividing one screen and processing each screen,
An image processing method including a step of deciding whether to process different screens in each of the plurality of codec processing units or to divide one screen and execute a codec in each of the plurality of codec processing units based on the difficulty level of the codec processing.
コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、1画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
ステップを含む処理をコンピュータに実行させるプログラム。 A program for causing a computer to execute codec processing using a plurality of codec processing means capable of dividing one screen and processing each screen,
Based on the degree of difficulty of the codec processing, the plurality of codec processing means determine whether to process different screens or to divide one screen and execute the codec in each computer. The program to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006262872A JP2008085617A (en) | 2006-09-27 | 2006-09-27 | Image processor, image processing method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006262872A JP2008085617A (en) | 2006-09-27 | 2006-09-27 | Image processor, image processing method, recording medium, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008085617A true JP2008085617A (en) | 2008-04-10 |
Family
ID=39356022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006262872A Withdrawn JP2008085617A (en) | 2006-09-27 | 2006-09-27 | Image processor, image processing method, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008085617A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009296169A (en) * | 2008-06-03 | 2009-12-17 | Fujitsu Ltd | Moving image decoding device, and encoding device |
WO2013160971A1 (en) * | 2012-04-27 | 2013-10-31 | パナソニック株式会社 | Semiconductor integrated circuit |
JP2014086770A (en) * | 2012-10-19 | 2014-05-12 | Nippon Hoso Kyokai <Nhk> | Video signal dividing device, video transfer transmission apparatus, video transfer reception apparatus and video transfer system |
US12009724B2 (en) | 2019-01-08 | 2024-06-11 | Nidec Corporation | Motor and rotor blade apparatus |
-
2006
- 2006-09-27 JP JP2006262872A patent/JP2008085617A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009296169A (en) * | 2008-06-03 | 2009-12-17 | Fujitsu Ltd | Moving image decoding device, and encoding device |
WO2013160971A1 (en) * | 2012-04-27 | 2013-10-31 | パナソニック株式会社 | Semiconductor integrated circuit |
JP2014086770A (en) * | 2012-10-19 | 2014-05-12 | Nippon Hoso Kyokai <Nhk> | Video signal dividing device, video transfer transmission apparatus, video transfer reception apparatus and video transfer system |
US12009724B2 (en) | 2019-01-08 | 2024-06-11 | Nidec Corporation | Motor and rotor blade apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4534910B2 (en) | Image processing apparatus, image processing method, recording medium, and program | |
JP5041626B2 (en) | Decoding device, decoding method, and program | |
US8170120B2 (en) | Information processing apparatus and information processing method | |
JP4207072B2 (en) | Information processing apparatus, information processing method, recording medium, and program | |
US8184690B2 (en) | Image processing apparatus and image processing method | |
JP2008516514A (en) | Image coding apparatus and image decoding apparatus | |
JP2002359848A (en) | Image processor | |
JPH11196411A (en) | Device and method for picture encoding and device and method for picture decoding | |
JP2007060488A (en) | Image processing element, image processing method, recording medium and program | |
JP2008085617A (en) | Image processor, image processing method, recording medium, and program | |
US6882687B2 (en) | Compressed image data reproducing apparatus and method thereof | |
JP4221667B2 (en) | Information processing apparatus, information processing method, recording medium, and program | |
JP4902854B2 (en) | Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, moving picture encoding apparatus, moving picture encoding method, moving picture encoding program, and moving picture encoding / decoding apparatus | |
JPWO2012120908A1 (en) | Moving picture coding apparatus and moving picture coding method | |
JP2006067096A (en) | Information processing apparatus, information processing method, recording medium and program | |
JP4906197B2 (en) | Decoding device and method, and recording medium | |
JP2007158778A (en) | Forming method and device of trick reproducing content, transmitting method and device of trick reproducing compressed moving picture data, and trick reproducing content forming program | |
JP3721972B2 (en) | MPEG image data recording method | |
JPH0898142A (en) | Picture reproduction device | |
JP2006187037A (en) | Image reproducing method | |
JP3548167B2 (en) | Image processing device | |
JPH08275152A (en) | Digital video signal decoder | |
JP3721971B2 (en) | MPEG image data recording apparatus and recording medium | |
TW567722B (en) | Image reproducing method, image processing method, image reproducing device, image processing device, and television receiver capable of using the methods | |
JP2006303627A (en) | Recording apparatus and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091201 |