JP4575344B2 - Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size - Google Patents

Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size Download PDF

Info

Publication number
JP4575344B2
JP4575344B2 JP2006289177A JP2006289177A JP4575344B2 JP 4575344 B2 JP4575344 B2 JP 4575344B2 JP 2006289177 A JP2006289177 A JP 2006289177A JP 2006289177 A JP2006289177 A JP 2006289177A JP 4575344 B2 JP4575344 B2 JP 4575344B2
Authority
JP
Japan
Prior art keywords
coefficients
encoding
video
block
run
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006289177A
Other languages
Japanese (ja)
Other versions
JP2007195146A (en
Inventor
グレゴリー, ケント ウォリス,
ハイタオ グオ,
ミッチェル, ハワード オスリック,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority to JP2006289177A priority Critical patent/JP4575344B2/en
Publication of JP2007195146A publication Critical patent/JP2007195146A/en
Application granted granted Critical
Publication of JP4575344B2 publication Critical patent/JP4575344B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、可変的に選択されたサイズでのビデオ再生をサポートするビデオ符号化システムに関する。本発明の実施形態は、特に、ビデオ編集アプリケーションに見られるような、イントラフレーム(フレーム内)符号化方式をサポートするビデオ符号化システムに関する。   Embodiments of the present invention relate to a video encoding system that supports video playback at a variably selected size. Embodiments of the present invention relate to video coding systems that support intra-frame coding schemes, particularly as found in video editing applications.

現代のビデオ編集アプリケーションはソフトウェアベースのツールであり、オペレータ(編集者)が、複数の入力ビデオシーケンスの候補から出力ビデオシーケンスを生成することを可能にする。ビデオ編集アプリケーションを用いることで、多様な画像ソースから映画やテレビ番組を作成することが可能になる。例えば、2人の人物の間で交わされる会話を興味深く見せるために、編集者は2以上の異なるカメラアングルを行き来する出力シーケンスを生成することができる。編集者は、ある区間には第1のビデオシーケンスを選択し、別の区間には第2のビデオシーケンスをクロスフェードさせることもできる。このような編集機能をサポートするために、ビデオエディタは、種々の入力シーケンスの候補を共通の時間軸に沿って表示するグラフィカルユーザインタフェースを備える。また、編集者は、出力ストリームにおいて生じる入力ストリーム間のカットを指定することもできるし、入力ストリーム間で生じるあらゆる映像効果(例えば、クロスフェードなど)を指定することもできる。このようなドラフト段階の編集セッティングは、最終的なセッティングが得られるまで自在に修正することができる。   Modern video editing applications are software-based tools that allow an operator (editor) to generate an output video sequence from multiple input video sequence candidates. Using video editing applications, it is possible to create movies and TV shows from a variety of image sources. For example, to make an interesting conversation between two people, an editor can generate an output sequence that traverses two or more different camera angles. The editor can also select the first video sequence in one section and crossfade the second video sequence in another section. In order to support such editing functions, video editors include a graphical user interface that displays various input sequence candidates along a common time axis. The editor can also specify cuts between input streams that occur in the output stream, and can also specify any video effects (such as crossfading) that occur between input streams. These draft editing settings can be freely modified until the final settings are obtained.

ビデオ編集アプリケーションでは、編集セッティングをいつでもテストできる。アプリケーションは、一般的に、入力ストリームの候補を示す符号化ビデオデータにアクセスする。アプリケーションのグラフィカルユーザインタフェースはまた、ディスプレイの一部に編集セッティングの再生を行うウィンドウを備える。再生を行うにあたっては、アプリケーションは複数の保存されたビデオデータシーケンスを復号するとともに映像効果を適用して、ビデオシーケンスを表示する。表示可能なビデオシーケンスをリアルタイムで描画するためには、復号処理と映像効果処理とを1フレームの時間内(通常は、1秒の30分の1)に行わなければならない。復号処理をできるだけ高速に行うために、従来のビデオ編集アプリケーションはイントラ予測(フレーム内予測)のみがなされた符号化ビデオデータを用いていた。すなわち、各フレームは時間予測(時間軸方向の予測)を行うことなく復号される。   In video editing applications, you can always test your editing settings. An application typically accesses encoded video data indicating input stream candidates. The application's graphical user interface also includes a window for playback of editing settings on a portion of the display. In playback, the application decodes a plurality of stored video data sequences and applies video effects to display the video sequence. In order to draw a displayable video sequence in real time, the decoding process and the video effect process must be performed within the time of one frame (usually 1 / 30th of a second). In order to perform the decoding process as fast as possible, a conventional video editing application uses encoded video data that has been subjected only to intra prediction (intraframe prediction). That is, each frame is decoded without performing temporal prediction (prediction in the time axis direction).

ビデオ編集アプリケーションの設計者は、時間予測により符号化されたデータを含む、より広範な種類の符号化ビデオデータを扱うことが求められる場合がある。   Video editing application designers may be required to handle a wider variety of encoded video data, including data encoded by temporal prediction.

発明者らは、復号処理をできるだけ高速に行うためには、入力ビデオデータを元の符号化フォーマットから復号し、イントラ予測技術に基づいてデータを再符号化することが有効であると判断した。また、復号化と再符号化により、入力データに比べ圧縮率は低くなりファイルサイズは大きくなるが、テスト動作の際により高速な復号が可能となる。   The inventors have determined that it is effective to decode the input video data from the original encoding format and re-encode the data based on the intra prediction technique in order to perform the decoding process as fast as possible. In addition, decoding and re-encoding reduce the compression rate and increase the file size compared to the input data, but enable faster decoding during the test operation.

また、発明者らは、入力データの復号化と再符号化により、ビデオセッティングのテストモードにおいて実行される復号処理に対してさらなる最適化を施すことができるものと認識している。   The inventors have also recognized that further optimization can be applied to the decoding process executed in the video setting test mode by decoding and re-encoding the input data.

本発明の実施形態は、一対の符号化チェーンに基づいてデータを符号化する符号化システムを提供する。第1符号化チェーンは、ビデオ編集アプリケーションにおいて実時間再生や表示の機能をサポートするのに十分なサイズであるような、縮小サイズのソースビデオシーケンスを示す、それ自身で復号可能な符号化ビデオデータを生成する。第2符号化チェーンは、補足(残りの)データを示す符号化ビデオデータを生成する。補足データは、第1符号化チェーンの符号化ビデオデータとともに復号することで、フルサイズ表示のソースビデオシーケンスを得るためのものである。第1符号化チェーンの出力はファイル構造のメモリに保存され、第2チェーン出力とは独立にアクセス可能であり、そのため、実時間での復号と再生を可能にする。   Embodiments of the present invention provide an encoding system that encodes data based on a pair of encoding chains. The first encoding chain is a self-decoded encoded video data that represents a reduced size source video sequence that is large enough to support real-time playback and display capabilities in a video editing application. Is generated. The second encoding chain generates encoded video data indicating supplemental (remaining) data. The supplemental data is decoded together with the encoded video data of the first encoding chain to obtain a full size display source video sequence. The output of the first encoding chain is stored in a file-structured memory and can be accessed independently of the second chain output, thus enabling decoding and playback in real time.

図1は、本発明の実施形態におけるビデオ符号化システム100のブロック図である。ビデオ符号化システム100は、ビデオキャプチャデバイスや記憶装置などの何らかのソースからビデオシーケンスデータを受け入れる。一般に、ビデオシーケンスの画像データは複数のフレームから構成され、各々のフレームは画素配列を含む。画素データは、輝度信号と一対の色信号(Y,C,C)に分けることができ、それぞれはシステム100において独立に処理可能である。 FIG. 1 is a block diagram of a video encoding system 100 in an embodiment of the present invention. Video encoding system 100 accepts video sequence data from some source, such as a video capture device or storage device. In general, image data of a video sequence is composed of a plurality of frames, and each frame includes a pixel array. Pixel data can be divided into a luminance signal and a pair of color signals (Y, C r , C b ), each of which can be processed independently in the system 100.

ビデオ符号化システム100は、変換器110、量子化器120、スプリッタ130、および一対の処理チェーン140、150を備える。処理チェーンは、それぞれランレングス符号化器142、152と可変長符号化器144、156とを備える。   The video encoding system 100 includes a transformer 110, a quantizer 120, a splitter 130, and a pair of processing chains 140, 150. The processing chain includes run length encoders 142 and 152 and variable length encoders 144 and 156, respectively.

変換回路110は、ソースフレームからの画素データブロックを、所定の変換方式にしたがって係数データブロックに変換する。例えば、変換器110は、離散コサイン変換(DCT: discrete cosine transform)にしたがって動作する。通常、DCT係数は係数の二次元配列として記される。最も一般的な構成は、ソースデータの8画素×8画素のブロックを、図2(a)に示した配列のように、DCT係数の8×8の配列に変換するものである。ここで、配列の原点(位置(0,0))の係数はブロックの直流(DC)成分を表し、他の係数はブロックに含まれる種々の周波数成分を表している。また、ブロックの主軸に沿った係数はそれぞれ、単一方向の周波数が徐々に高くなる画像要素を示している。ブロックの主対角線に沿った係数は、複数方向の周波数が徐々に高くなる画像要素を示している。   The conversion circuit 110 converts the pixel data block from the source frame into a coefficient data block according to a predetermined conversion method. For example, the converter 110 operates according to a discrete cosine transform (DCT). DCT coefficients are usually written as a two-dimensional array of coefficients. In the most general configuration, an 8 × 8 pixel block of source data is converted into an 8 × 8 array of DCT coefficients as in the array shown in FIG. Here, the coefficient at the origin (position (0, 0)) of the array represents a direct current (DC) component of the block, and the other coefficients represent various frequency components included in the block. Each coefficient along the main axis of the block indicates an image element in which the frequency in a single direction gradually increases. Coefficients along the main diagonal of the block indicate image elements whose frequencies in multiple directions are gradually increased.

量子化器120は、量子化パラメータ(q)で除算することで係数を切り捨てる。これにより、後続の符号化処理で用いられる係数の大きさが小さくなる。量子化により、いくつかの低いレベルの係数は切り捨てられて0になる。量子化パラメータは、フレーム中のブロックごとに、あるいはフレームごとに変更しても良い。この場合には、量子化パラメータに関する情報自体をビデオ符号化システム100から出力される符号化データに含め、復号時に量子化パラメータを再構成して逆量子化処理が行われる。 The quantizer 120 truncates the coefficient by dividing by the quantization parameter (q p ). This reduces the size of the coefficients used in the subsequent encoding process. Due to quantization, some low level coefficients are truncated to zero. The quantization parameter may be changed for each block in the frame or for each frame. In this case, information about the quantization parameter itself is included in the encoded data output from the video encoding system 100, and the quantization parameter is reconfigured at the time of decoding, and the inverse quantization process is performed.

スプリッタ130は、ビデオ符号化システム100で行われるデマルチプレクス処理を示し、各ブロックの係数を一対の符号化チェーン140、150の一方に分配する。本実施形態では、スプリッタ130は、スプリッタ130に入力される係数データのブロックごとに、低周波の係数セットを第1符号化チェーン140に、残りの係数を第2符号化チェーン150に転送する。例えば、ソース画像の4分の1サイズで表示可能なビデオ信号を復元するためには、第1符号化チェーンにおいて4分の1の低周波の係数を符号化し(8×8のブロックに対して生成された、64個の係数のうちの16個を符号化し)、残りの係数を第2符号化チェーンにおいて符号化すれば十分である。なお、同様に他の表示サイズにも対応することができる。   The splitter 130 indicates the demultiplexing process performed in the video encoding system 100 and distributes the coefficient of each block to one of the pair of encoding chains 140 and 150. In the present embodiment, for each block of coefficient data input to the splitter 130, the splitter 130 transfers a low-frequency coefficient set to the first encoding chain 140 and the remaining coefficients to the second encoding chain 150. For example, to restore a video signal that can be displayed in a quarter size of the source image, a quarter low frequency coefficient is encoded in the first encoding chain (for an 8 × 8 block). It is sufficient to encode 16 of the generated 64 coefficients) and encode the remaining coefficients in the second encoding chain. Similarly, other display sizes can be handled.

符号化チェーン140および150はそれぞれ、ランレングス符号化器142、152と可変長符号化器144、154とを備える。一実施形態において、ランレングス符号化器142、152それぞれは、従来のジグザグスキャンの方向に従ってランレングス符号化を行う。ランレングス符号化器は、原点から開始して様々な係数の位置を横断してスキャンし、ゼロでない係数に達するまでに横断された位置の数をカウントする。横断された位置の数をランレングスとして出力し、ゼロでない係数をレベルとして出力する。ブロック全体を横断してスキャンするまで、符号化器はブロック内の横断(スキャン)を続け、ランとレベルとを連続して出力する。   Encoding chains 140 and 150 include run-length encoders 142 and 152 and variable length encoders 144 and 154, respectively. In one embodiment, each run-length encoder 142, 152 performs run-length encoding according to a conventional zigzag scan direction. The run-length encoder scans across the various coefficient positions starting from the origin and counts the number of positions traversed to reach a non-zero coefficient. The number of traversed positions is output as a run length, and a non-zero coefficient is output as a level. Until the entire block is scanned across, the encoder continues traversing (scanning) within the block and outputs runs and levels in succession.

もちろん、第1チェーン140では、ランレングス符号化器142は入力された係数のみを横断(スキャン)すればよい。上述の例では、図2(b)に示す配列ように、複数の4×4のブロックでもって4分の1サイズの表示がなされる。このようなブロックに対しては従来のジグザグスキャンが適切である。   Of course, in the first chain 140, the run-length encoder 142 only needs to traverse (scan) the input coefficients. In the above example, as shown in FIG. 2B, a quarter size is displayed with a plurality of 4 × 4 blocks. A conventional zigzag scan is appropriate for such a block.

第2チェーン150では、ランレングス符号化器152がブロック中の残りの係数をスキャンするが、第1チェーン140へ渡された係数を除いた部分を対象とするため(第1チェーン140へ渡された係数部分が存在しないため)、一般的にブロックは係数値の不規則な配列となる(図2(c))。一実施形態では、本来ならスモール(小)ブロック内の係数によって占められる位置にダミーの0値を挿入してから、残りの係数を通常の配列として扱うことが特に効果的である。すなわち、ランレングス符号化器152は従来のジグザグスキャンをブロック(全体)にわたって行うことができる。比較的滑らかな(テクスチャが滑らかな)画像コンテンツに対しては、原点から遠く離れた主対角線上の係数は0値となることが多いため、ランレングス符号化を特に効率的に行うことができる。   In the second chain 150, the run-length encoder 152 scans the remaining coefficients in the block. However, in order to target a portion excluding the coefficients passed to the first chain 140 (passed to the first chain 140). In general, the block has an irregular arrangement of coefficient values (FIG. 2 (c)). In one embodiment, it is particularly effective to insert a dummy zero value at a position that would otherwise be occupied by a coefficient in a small block and then treat the remaining coefficients as a normal array. That is, the run-length encoder 152 can perform a conventional zigzag scan over the entire block. For relatively smooth (smooth textured) image content, the coefficient on the main diagonal far from the origin often has a zero value, so run-length encoding can be performed particularly efficiently. .

あるいは、ランレングス符号化器152は、第1チェーン140へ渡された係数の位置をスキップする(飛ばす)方法で、従来のジグザグスキャンに従って、残りのブロックをスキャンすることができる。例えば、再び図2(c)を参照すると、ランレングス符号化器152は、位置(0,0)から開始するのではなく、位置(4,0)からスキャンを開始することができる。係数の位置(3,1)、(2,2)、(1,3)が残りのブロックには存在しないため、ジグザグスキャン方向における次の「隣の」位置は(0,4)となる。位置(0,5)から(5,0)への次のジグザグスキャンは、係数の位置(3,2)および(2,3)は小ブロックのメンバーである(小ブロックに存在する)ため、同様にこれらをスキップする。   Alternatively, the run length encoder 152 can scan the remaining blocks in accordance with a conventional zigzag scan in a manner that skips the positions of the coefficients passed to the first chain 140. For example, referring again to FIG. 2 (c), the run-length encoder 152 can start scanning from position (4, 0) rather than starting from position (0, 0). Since the coefficient positions (3, 1), (2, 2), and (1, 3) do not exist in the remaining blocks, the next “next” position in the zigzag scan direction is (0, 4). The next zigzag scan from position (0,5) to (5,0) is because the coefficient positions (3,2) and (2,3) are small block members (present in the small block) Similarly, these are skipped.

さらなる実施形態では、ジグザグスキャン方向に従って独立してランレングス符号化を行うために、残りのブロックをサブブロックに分割(parse)してもよい。例えば図2(c)の実施形態においては、残りのブロックを3つの係数データの4×4配列に分割し、それぞれに対して独立してランレングス符号化を行うことができる。   In a further embodiment, the remaining blocks may be parsed into sub-blocks for independent run length encoding according to the zigzag scan direction. For example, in the embodiment of FIG. 2C, the remaining blocks can be divided into 4 × 4 arrays of three coefficient data, and run-length encoding can be performed independently for each.

本発明の他の実施形態では、可変長符号化器が、複数の可逆符号化アルゴリズムの1つに従って符号化を行ってもよい。可逆符号化アルゴリズムでは、何らかのルックアップテーブルを参照することなく直接計算することにより、VLCデータをランレングスデータに直接に復号することが可能である。特に、復号器をソフトウェアで実装する場合には、ソースデータに対して直接計算することで、ルックアップテーブルを用いるよりも高速な実時間復号が可能となる。例として、可変長符号化器は、ゴロムライス(Golomb−Rice)符号や指数ゴロム(exp−Golomb)符号などといった符号化アルゴリズムに従って動作することができる。   In other embodiments of the present invention, the variable length encoder may perform encoding according to one of a plurality of lossless encoding algorithms. In a lossless encoding algorithm, VLC data can be directly decoded into run-length data by directly calculating without referring to any lookup table. In particular, when the decoder is implemented by software, it is possible to perform real-time decoding faster than using a lookup table by directly calculating the source data. By way of example, the variable length encoder may operate according to a coding algorithm such as a Golomb-Rice code or an exponent Golomb code.

2つのチェーン140、150の可変長符号化器144、154は、ランレングス符号化器142、152から出力されるランとレベルのペアのデータを符号化する。他の実施形態においては、処理チェーン140、150のランレングス符号化器142、152を省くことができる。この実施形態では、可変長符号化器144、154は、スプリッタ130から出力される係数データを直接に符号化する。このため、図1中のランレングス符号化器142、152を点線で示している。   The variable length encoders 144 and 154 of the two chains 140 and 150 encode the run and level pair data output from the run length encoders 142 and 152. In other embodiments, the run length encoders 142, 152 of the processing chains 140, 150 can be omitted. In this embodiment, the variable length encoders 144 and 154 directly encode the coefficient data output from the splitter 130. For this reason, the run-length encoders 142 and 152 in FIG. 1 are indicated by dotted lines.

各フレームの符号化ビデオデータは、記憶装置中のファイル160に保存される。本実施形態では、アクセスを容易にするために、第1処理チェーン140から出力される符号化ビデオデータをファイルの連続する領域に保存する(グループ1 162として示す)。第2処理チェーン150から出力される符号化ビデオデータは、ファイル160の別の領域164に保存される。再生時に、縮小サイズのビデオシーケンスのみを再生したい場合には、グループ1 162の符号化ビデオデータのみを取り出して復号すればよい。これに対して、フルサイズのビデオシーケンスを復号したい場合には、グループ162、164の両方を取り出して復号すればよい。すなわち、本発明によれば、画像の実時間再生を種々のサイズで行うことができる。   The encoded video data for each frame is stored in a file 160 in the storage device. In this embodiment, in order to facilitate access, the encoded video data output from the first processing chain 140 is stored in a continuous area of the file (shown as group 1 162). The encoded video data output from the second processing chain 150 is stored in another area 164 of the file 160. When it is desired to reproduce only a reduced-size video sequence during reproduction, only the encoded video data of group 1 162 may be extracted and decoded. On the other hand, when it is desired to decode a full-size video sequence, both groups 162 and 164 may be extracted and decoded. That is, according to the present invention, real-time image reproduction can be performed in various sizes.

一実施形態では、すべてのフレームをイントラ(フレーム内)符号化フレーム(「Iフレーム」)として符号化することができる。イントラ符号化では、フレーム中の1ブロックのビデオデータは、そのフレーム中の他のブロックのビデオデータから符号化される。すなわち、所定のブロックXのビデオコンテンツは、ブロックXに水平あるいは垂直方向に隣接するブロックのデータに基づいて符号化される。例えば、MPEG−4標準の7.4.3章に記されている技術を、本符号化器100に適用することができる。Information technology −− Coding of audio−visual objects −− Part2: Visual Amendment 1: Visual extensions, ISO/IEC JTC 1/SC 29/WG 11 N 3056 (2000)を参照されたい。説明を簡単にするために、このような処理は変換ブロック110に包含されているものとする。   In one embodiment, all frames may be encoded as intra (intraframe) encoded frames (“I frames”). In intra coding, one block of video data in a frame is encoded from video data of other blocks in the frame. That is, the video content of the predetermined block X is encoded based on the data of the block adjacent to the block X in the horizontal or vertical direction. For example, the technique described in Chapter 7.4.3 of the MPEG-4 standard can be applied to the encoder 100. Information technology-Coding of audio-visual objects-Part 2: Visual Amenity 1: Visual extensions, ISO / IEC JTC 1 / SC 29 / WG 11 N 3056 For simplicity of explanation, it is assumed that such processing is included in the transformation block 110.

一実施形態では、ランレングス符号化器142は、小ブロックのペアに対して、修正されたジグザグスキャンを行う。図3は、係数データにおける4×4ブロックの典型的なペアに対するジグザグスキャンの様子を示したものである。一実施形態では、第1ブロックの原点からスキャンを開始し、従来のジグザグスキャン方向に従って第1ブロック中の係数の位置を進む。ブロック中のスキャンは、最後の係数に達するまで、ブロックの主対角線に対して直角方向に行われる(図2(a)と比較されたい)。最後の係数の位置は、一般に原点から可能な限り最も離れたサブブロックの主対角線上に位置する。スキャンの方向は、第1ブロックのこの最終位置から、図3において「初期位置」と記した第2ブロックの対応する位置にジャンプする。第2ブロックにおける係数位置のスキャン方向は、逆の方向である。第2ブロックの初期位置から原点に達するまで、ブロックの主対角線に直角の方向にスキャンが行われる。すなわち、本実施形態のスキャンは、繰り返される1回のスキャンごとに2つの小ブロックを処理する。   In one embodiment, run length encoder 142 performs a modified zigzag scan on the small block pair. FIG. 3 shows a zigzag scan for a typical pair of 4 × 4 blocks in coefficient data. In one embodiment, the scan starts from the origin of the first block and advances the position of the coefficients in the first block according to the conventional zigzag scan direction. Scans in the block are performed perpendicular to the main diagonal of the block until the last coefficient is reached (compare with Fig. 2 (a)). The position of the last coefficient is generally located on the main diagonal of the subblock as far as possible from the origin. The scan direction jumps from this final position of the first block to the corresponding position of the second block, labeled “initial position” in FIG. The scanning direction of the coefficient position in the second block is the reverse direction. Scanning is performed in a direction perpendicular to the main diagonal of the block from the initial position of the second block to the origin. That is, the scan of the present embodiment processes two small blocks for each repeated scan.

図3に示した実施形態は、小ブロックの係数の符号化において特に効率的である。フルサイズブロックと比較して、小ブロックは一般的に少ない数の係数しか含まないため(例えば、64個の係数に対して16個の係数)、単一のブロックのみをスキャンする従来のジグザグスキャンでは、ゼロランが比較的小さくなる傾向にあり、非効率になってしまう。これに対して、第1ブロックの従来のジグザグスキャンと第2ブロックの逆方向のジグザグスキャンとを結合することで、より長いゼロランが発生しやすくなる。滑らかな画像データにおいては、第1ブロックの最終位置付近や第2ブロックの初期位置付近の係数はゼロになることが多い。第1ブロックから第2ブロックに「ジャンプ」するラン(スキャン)により、これらの複数のゼロが捕捉されるようになる。   The embodiment shown in FIG. 3 is particularly efficient in coding small block coefficients. Traditional zigzag scans that scan only a single block because small blocks typically contain fewer coefficients than full-size blocks (eg, 16 coefficients for 64 coefficients) Then, the zero run tends to be relatively small and becomes inefficient. In contrast, by combining the conventional zigzag scan of the first block and the reverse zigzag scan of the second block, a longer zero run is likely to occur. In smooth image data, the coefficients near the final position of the first block and the initial position of the second block are often zero. A run (scan) that “jumps” from the first block to the second block causes these multiple zeros to be captured.

図4は、本発明の他の実施形態における符号化チェーン400のブロック図である。符号化チェーン400は、図1に示した第1あるいは第2符号化チェーンとして用いることができる。図4は、マルチモードのランレングス符号化システム410を示したものであり、ランレングス符号化器420とセレクタ430とを備える。セレクタ430は一対の入力を有する。第1入力は符号化チェーンへの入力に接続されており、第2入力はランレングス符号化システム410の出力に接続されている。ランレングス符号化器420の入力も、ランレングス符号化システム410の入力に接続されている。(図4において「RLE選択」と記されている)選択信号に基づいて、セレクタ430は2つの入力から選択した1つの入力からのデータを、可変長符号化器でさらに処理するために渡す(転送する)。   FIG. 4 is a block diagram of an encoding chain 400 according to another embodiment of the present invention. The encoding chain 400 can be used as the first or second encoding chain shown in FIG. FIG. 4 shows a multimode run-length encoding system 410, which includes a run-length encoder 420 and a selector 430. The selector 430 has a pair of inputs. The first input is connected to the input to the encoding chain and the second input is connected to the output of the run-length encoding system 410. An input of run length encoder 420 is also connected to an input of run length encoding system 410. Based on a selection signal (denoted as “RLE selection” in FIG. 4), selector 430 passes data from one input selected from two inputs for further processing by the variable length encoder ( Forward).

他の実施形態においては、データに適用する符号化アルゴリズムを、可変長符号化器440に入力される種々のデータパターンに基づいて動的に変更してもよい。可変長符号化器440は、符号化部450と複数の符号割当表460とを有するものとして示される。入力された選択信号に基づいて、VLCセレクタ470は割当表の1つを符号化部450に結びつける。ここで、入力選択信号は、例えばブロックごと、タイルごと、フレームごとなどで動的に変更することができる。また、VLC選択信号は、(例えば、保持する輝度データや色データなどの)ブロック種別、可変長符号化器が属する符号化チェーン(チェーン140または150)、あるいはブロックが属するタイルに基づいて決定可能である。さらに、いくつかのVLC割当表でブロックを符号化すれば、圧縮効率の比較をVLC割当表間で行うこともできる。最も圧縮効率の高い符号化結果を用いて、記憶装置に保存することができる。   In other embodiments, the encoding algorithm applied to the data may be dynamically changed based on various data patterns input to the variable length encoder 440. Variable length encoder 440 is shown as having an encoder 450 and a plurality of code allocation tables 460. Based on the input selection signal, the VLC selector 470 associates one of the allocation tables with the encoding unit 450. Here, the input selection signal can be dynamically changed, for example, for each block, for each tile, or for each frame. Also, the VLC selection signal can be determined based on the block type (for example, luminance data or color data to be held), the coding chain (chain 140 or 150) to which the variable length encoder belongs, or the tile to which the block belongs. It is. Furthermore, if the blocks are encoded with several VLC allocation tables, the compression efficiency can be compared between the VLC allocation tables. The encoding result with the highest compression efficiency can be used and stored in the storage device.

符号化の際に、可逆符号化アルゴリズムを用いたとしても、可変長符号化器500は入力データを直接計算で符号化してもよいし、ルックアップテーブルを用いて符号化しても良い。   Even when a lossless encoding algorithm is used for encoding, the variable-length encoder 500 may encode input data by direct calculation or by using a lookup table.

他の実施形態では、変換器110はウェーブレット変換を用いてもよい。多解像度ウェーブレット分解は、画像情報の符号化に最も効率的な手法の一つである。符号化される画像情報は、局所的にサポートされるウェーブレットの線形結合として表現される。ウェーブレットサポートの例を図5に示す。ウェーブレット分解により、DC係数(「DC」と記載)と、所定ブロックの水平方向、垂直方向、対角線方向のウェーブレットに対応するいくつかの係数バンドとが得られる。図5では、4つの係数バンド(バンド1〜4)が示されている。第1バンドは、極めて低周波のウェーブレットの係数を含む。バンド2の各ウェーブレットは、ブロック領域を4分の1に分割する。そのため、4つの水平ウェーブレット係数、4つの垂直ウェーブレット係数、および4つの対角線ウェーブレット係数が存在する。ウェーブレット係数さらなるバンドそれぞれにおいて、係数は、前の係数バンドにおける対応ウェーブレット領域の4分の1を有するウェーブレットを示す。図5には、ウェーブレットサポートが、ブロック中の5つの異なる粒度(バンド0〜4、ここでバンド0はDC係数である)における画像情報として示されている。   In other embodiments, the converter 110 may use a wavelet transform. Multi-resolution wavelet decomposition is one of the most efficient techniques for encoding image information. The encoded image information is expressed as a linear combination of locally supported wavelets. An example of wavelet support is shown in FIG. Wavelet decomposition yields DC coefficients (denoted as “DC”) and several coefficient bands corresponding to the horizontal, vertical, and diagonal wavelets of a given block. In FIG. 5, four coefficient bands (bands 1 to 4) are shown. The first band contains very low frequency wavelet coefficients. Each wavelet in band 2 divides the block area into quarters. Therefore, there are 4 horizontal wavelet coefficients, 4 vertical wavelet coefficients, and 4 diagonal wavelet coefficients. Wavelet coefficient In each further band, the coefficient represents a wavelet having a quarter of the corresponding wavelet region in the previous coefficient band. In FIG. 5, wavelet support is shown as image information at five different granularities in the block (bands 0-4, where band 0 is a DC coefficient).

本発明の原理は、ウェーブレットベースの符号化器に適用することが可能である。このような実施形態では、変換器110はウェーブレット係数を生成し、生成されたウェーブレット係数は量子化器120で切り捨て処理がなされればよい。スプリッタ130は、第1の一連のバンドのウェーブレット係数を第1符号化チェーン140に、残りのバンドのウェーブレット係数を第2符号化チェーン150に転送する。システムがフルサイズ画像の25%の縮小サイズ表示を生成する場合には、スプリッタはバンド0〜3の係数を第1符号化チェーンに転送する。   The principles of the present invention can be applied to wavelet-based encoders. In such an embodiment, the converter 110 may generate wavelet coefficients, and the generated wavelet coefficients may be truncated by the quantizer 120. The splitter 130 transfers the first set of band wavelet coefficients to the first encoding chain 140 and the remaining band wavelet coefficients to the second encoding chain 150. If the system generates a reduced size representation of 25% of the full size image, the splitter forwards the coefficients in bands 0-3 to the first encoding chain.

図6は、本発明の実施形態に基づくビデオ復号器600のブロック図である。復号器600は、図1の符号化器100でなされた符号化処理の逆を行うことができる。したがって、復号器は、逆変換器610、逆量子化器620、マルチプレクサ630、それぞれがランレングス復号器642、652と可変長復号器644、654とを有する一対の処理チェーン640、650、および記憶装置660を備えることになる。上述のように、符号化ビデオデータは記憶装置中のファイルに2つの別個のグループで存在し得る。第1グループは小ブロックの符号化データを含み、ソースビデオ画像の縮小サイズの複製を得たいときにはこのデータのみを復号すればよい。第2グループは残りのブロックの符号化データを含み、小ブロックの符号化データとともに復号することで、フルサイズの画像が生成される。   FIG. 6 is a block diagram of a video decoder 600 according to an embodiment of the present invention. The decoder 600 can perform the reverse of the encoding process performed by the encoder 100 of FIG. Accordingly, the decoder comprises an inverse transformer 610, an inverse quantizer 620, a multiplexer 630, a pair of processing chains 640, 650, each having run length decoders 642, 652 and variable length decoders 644, 654, and storage. A device 660 will be provided. As described above, the encoded video data may exist in two separate groups in a file in the storage device. The first group includes encoded data of small blocks, and only this data needs to be decoded when it is desired to obtain a reduced-size copy of the source video image. The second group includes the encoded data of the remaining blocks, and a full-size image is generated by decoding together with the encoded data of the small blocks.

動作時は、処理チェーン640、650の一方あるいは両方がアクティブとなる。第1処理チェーン640のみがアクティブであるときには、小ブロックの符号化ビデオデータが記憶装置から取り出され、可変長復号644され、ランレングス復号642される。第2処理チェーン650がアクティブであるときには、残りのブロックの符号化ビデオデータも記憶装置から取り出され、可変長復号654され、ランレングス復号652される。マルチプレクサ630は、処理チェーン640、650両方からデータを受信すると、逆量子化器620と逆変換器610でのさらなる処理のためのフォーマットになるように、受信したデータを統合する。   In operation, one or both processing chains 640, 650 are active. When only the first processing chain 640 is active, small block encoded video data is retrieved from the storage device, variable length decoded 644 and run length decoded 642. When the second processing chain 650 is active, the encoded video data of the remaining blocks are also retrieved from the storage device, variable length decoded 654, and run length decoded 652. When multiplexer 630 receives data from both processing chains 640, 650, it combines the received data into a format for further processing at inverse quantizer 620 and inverse transformer 610.

逆量子化器620は、図1の量子化器120において適用した量子化パラメータ(q)を入力係数値に乗じることで、変換値を得る。逆変換器610は、図1の変換器110で適用された(例えば、離散コサイン変換符号化やウェーブレット変換符号化などの)変換の逆処理を行い、画素値を復元する。したがって、変換器は画素データのブロックを出力し、出力されたブロックは他のブロックとともに再構成され表示され得る。ここで、復元される画像データは、縮小サイズブロックのみが復号されるときには縮小サイズ画像となり、フレームのすべての符号化ビデオデータが復号されるときにはフルサイズ画像となる。 The inverse quantizer 620 multiplies the input coefficient value by the quantization parameter (q p ) applied in the quantizer 120 of FIG. 1 to obtain a transformed value. The inverse transformer 610 performs the inverse process of the transform (for example, discrete cosine transform coding or wavelet transform coding) applied by the converter 110 in FIG. 1 to restore the pixel value. Thus, the converter outputs a block of pixel data, and the output block can be reconstructed and displayed with other blocks. Here, the restored image data becomes a reduced size image when only the reduced size block is decoded, and becomes a full size image when all the encoded video data of the frame are decoded.

一実施形態においては、逆変換器610が動作すると利用する復号モードの識別子を受信する。フルサイズの復号がなされるときには、逆変換器610は通常の動作をする。しかしながら、縮小サイズの復号がなされるときには、残りのブロックにおける係数、すなわち本来であれば第2処理チェーン650から出力される係数のみに対する逆変換計算を逆変換器610は省略する。チェーン650は選択信号によって非アクティブとなるため、逆変換計算を行う意味がないためである。このように計算を省略することで、逆変換器610のスループットを最適化することができる。   In one embodiment, an identifier for the decoding mode to use is received when the inverse transformer 610 operates. When full size decoding is performed, the inverse converter 610 operates normally. However, when the reduced size decoding is performed, the inverse transformer 610 omits the inverse transformation calculation for only the coefficients in the remaining blocks, that is, the coefficients that are originally output from the second processing chain 650. This is because the chain 650 becomes inactive by the selection signal, so there is no point in performing the inverse transformation calculation. By omitting the calculation in this way, the throughput of the inverse converter 610 can be optimized.

逆変換器610は、ウェーブレット係数から画素データを生成するウェーブレット変換器であっても良い。このような実施形態において、逆変換器が小ブロックのみに対して動作すると、従来のウェーブレット復号では、高周波係数が存在しないために低解像度のフルサイズビデオが生成されることになる。そのため、一実施形態では、(例えば元の25%のサイズに落とすなどして、)フルサイズビデオを対応する縮小サイズにサイズ変更する。   The inverse transformer 610 may be a wavelet transformer that generates pixel data from wavelet coefficients. In such an embodiment, if the inverse transformer operates only on small blocks, conventional wavelet decoding will produce a low resolution full size video because there are no high frequency coefficients. Thus, in one embodiment, the full size video is resized to the corresponding reduced size (eg, reduced to the original 25% size).

以下の表1に示すように、ランレングス符号化データはランとレベルのペアのシリーズ(連続したもの)として表される。ラン値は、ゼロ値である係数が検出された連続する係数スキャン位置の数である。ラン値は、ゼロとデータユニット中の係数位置の最大数(8×8ブロックでは64、4×4ブロックの符号化ペアでは16)との間の任意の値となり得る。レベル値は、スキャン方向で検出された次の非ゼロ係数の値である。それゆえ、単一ブロックあるいはブロックペアの係数を符号化するために、ランレングス符号化器は少なくとも1つのランを生成し、一般にはブロックの情報コンテンツに応じて定まるランとレベルの数列を生成する。ブロックの符号化は、ラン値またはレベル値のどちらで終了してもよい。   As shown in Table 1 below, run-length encoded data is represented as a series of run and level pairs (consecutive). The run value is the number of consecutive coefficient scan positions where a zero coefficient is detected. The run value can be any value between zero and the maximum number of coefficient positions in the data unit (64 for 8 × 8 blocks, 16 for 4 × 4 block coded pairs). The level value is the value of the next non-zero coefficient detected in the scan direction. Therefore, in order to encode the coefficients of a single block or block pair, the run-length encoder generates at least one run, typically a sequence of runs and levels determined by the information content of the block. . Block encoding may end with either a run value or a level value.

通常、ランレングス符号化器は、いくつかのランレングスペアを生成する。   Typically, a run length encoder generates several run length spares.

Figure 0004575344
Figure 0004575344

一般的に、最後のペアのラン値で所定のブロックの残り部分を表すことができれば、表1に示すようにレベルが続くのではなく、ブロック終了(エンド・オブ・ブロック)シンボルが続く。   In general, if the last pair of run values can represent the remainder of a given block, the level will not continue as shown in Table 1, but the end of block symbol will follow.

本発明の実施形態によれば、表2に示すパターンのようなランレングス符号化データの代替「パターン」を用いることで、表1のデータを効率的に復号することができる。   According to the embodiment of the present invention, by using an alternative “pattern” of run-length encoded data such as the pattern shown in Table 2, the data in Table 1 can be efficiently decoded.

Figure 0004575344
Figure 0004575344

上述と同様、n番目のレベルシンボルは必ずしも存在するとは限らない。   As described above, the n-th level symbol does not necessarily exist.

図7は、本発明の実施形態における読込方法700を示す。本実施形態によれば、本方法は、ランレングスペアの入力パターンに存在する第1のラン値を読み、読み込む(ボックス710)。次いで、本方法は、今まで読み込んだラン値とレベル値数との和から特定される現在の係数位置が、最終位置あるいは最終位置の1つ前の位置にあるかを判断する(ボックス720)。最終位置あるいは最終位置の1つ前の位置でなければ、レベル値とラン値の2つを読み込み(ボックス730)、次の繰り返しのためにボックス720に戻る。現在の係数位置が最終位置である場合には、方法700は単に処理を終えればよい。また、現在の係数位置が最終位置の1つ前の位置である場合には、本方法は、最後のレベル値を読み込み(ボックス740)、終了する。   FIG. 7 shows a reading method 700 in an embodiment of the present invention. According to this embodiment, the method reads and reads the first run value present in the run-length spare input pattern (box 710). Next, the method determines whether the current coefficient position specified from the sum of the run value read up to this point and the number of level values is at the final position or one position before the final position (box 720). . If it is not the final position or a position before the final position, the level value and the run value are read (box 730) and the process returns to box 720 for the next iteration. If the current coefficient position is the final position, the method 700 simply ends. If the current coefficient position is one position before the final position, the method reads the last level value (box 740) and ends.

図7で示した読込処理は、表2のパターンにしたがってランとレベルのペアを読み込むものである。この読込パターンは、繰り返しごとのテストが一つ少なくて済むため、表1のパターンに基づいた読込方法よりも高速である。通常、ランレングス復号はラン値とレベル値とを別々のシンボルとして処理するため、各シンボルを読み込むごとに最終位置に到達したか否かを判断するテストをしなければならない。これに対して、表2で示したようにシンボルペアを読み込むことで、図7の方法は、半分の回数のテストを実行すればよく、より高速な処理が可能となる。   The reading process shown in FIG. 7 reads a pair of run and level according to the pattern of Table 2. This reading pattern is faster than the reading method based on the pattern shown in Table 1 because only one test is required for each repetition. Normally, run length decoding processes run values and level values as separate symbols, so a test must be performed to determine whether the final position has been reached each time each symbol is read. On the other hand, by reading the symbol pair as shown in Table 2, the method of FIG. 7 only needs to execute the test of half the number of times, and higher speed processing is possible.

上述の通り、本実施形態の符号化手法は、縮小サイズ画像を極めて高速に復号できるプロトコルに従って符号化ビデオデータを構成するものであり、特にビデオ編集アプリケーションに適している。以上の説明では、復号されたときに4分の1のサイズで表示される4×4のブロックの例を示した。もちろん、本発明の原理はこれに限定されるものではない。復号システムの動作は、縮小表示とフルサイズ表示との望まれる比率で自在に提供するように構成されても良い。表3に示したサイズ比率においては、スプリッタ130は、8×8のソースブロックから表に示した次元を有するサブブロックを直接に構成することが可能である。   As described above, the encoding method of the present embodiment constitutes encoded video data according to a protocol that can decode a reduced-size image at an extremely high speed, and is particularly suitable for video editing applications. In the above description, an example of a 4 × 4 block displayed in a quarter size when decoded is shown. Of course, the principle of the present invention is not limited to this. The operation of the decoding system may be configured to provide at any desired ratio between reduced display and full size display. In the size ratios shown in Table 3, the splitter 130 can directly construct sub-blocks having the dimensions shown in the table from 8 × 8 source blocks.

Figure 0004575344
Figure 0004575344

例えば50%などといった他のサイズ比率としたい場合には、一度復号器(図6)から出力された復号ビデオデータに対して、さらなる空間サイズ変更技術を使用すればよい。   For example, if another size ratio such as 50% is desired, a further spatial size changing technique may be used for the decoded video data once output from the decoder (FIG. 6).

また、さらなる柔軟性を提供するためには、ビデオ符号化器や復号器は、それぞれが所定のフレームサイズに対応するビデオデータを処理するようになされた3つ以上の符号化/復号チェーンを備えればよい。一例としてビデオ符号化器を使用すると、第1符号化チェーンは得られたDCT係数の3×3配列を処理し、第2符号化チェーンは残りの係数を5×5係数配列まで処理し(3×3配列の係数を除いた5×5配列まで処理し)、第3符号化チェーンは最初の2つの符号化チェーンで処理されない残りの係数を処理すればよい。同様に、ビデオ復号器も同様の方法で複数の符号化チェーンを備えることができる。   Also, in order to provide further flexibility, video encoders and decoders comprise three or more encoding / decoding chains, each adapted to process video data corresponding to a predetermined frame size. Just do it. Using a video encoder as an example, the first encoding chain processes the 3 × 3 array of DCT coefficients obtained, and the second encoding chain processes the remaining coefficients up to a 5 × 5 coefficient array (3 The third encoded chain only needs to process the remaining coefficients that are not processed by the first two encoded chains. Similarly, a video decoder can comprise multiple encoding chains in a similar manner.

上述の実施形態で示したシステムと技術は、フル符号化サービスを提供するより大きなビデオ符号化システムにおいても用いることができる。このようなシステムの1つでは、ビデオフレームを複数の「タイル」として符号化する。フレームの空間領域をタイルと呼ばれる別々の部位に分け、タイル内のブロックに用いる所定の符号化方法を、ブロックごとではなくタイルごとに適用することができる。例えば、VLC表の選択(図4)は、著低のタイル中のすべてのブロックに対して共通に行われる。また、量子化パラメータの選択などといった符号化パラメータも、タイル中のすべてのブロックに対して共通に行われる。符号化方法(符号化パラメータ)をタイルごとに適用することで、タイルのビデオデータを、同一フレーム内の別のタイルに属するビデオデータとは独立に符号化/復号することが可能となる。これにより、(1)タイルに対して個別のプロセッサを割り当て、並列に符号化/復号することが可能となる、(2)フレームのビデオデータを小さなタイルに分割することでメモリ管理やキャッシュ管理が容易になる、(3)タイルごとに符号化パラメータを独立に選択することができ(そして最適化を図ることができ)るため、より高い圧縮効率を得られる、(4)ビデオシーケンス中の興味あるタイルを、当該タイルが属するフレーム全体を復号することなく復号することができる、といったことを含む、いくつかの利点が得られる。それゆえ、図1のビデオ符号化器と図6のビデオ復号器を複数用意し、タイルを独立に復号することができる並列処理システムを構成することができる。   The systems and techniques shown in the above embodiments can also be used in larger video coding systems that provide full coding services. One such system encodes video frames as multiple “tiles”. It is possible to divide the spatial area of the frame into different parts called tiles, and apply a predetermined encoding method used for the blocks in the tile not for each block but for each tile. For example, the selection of the VLC table (FIG. 4) is performed in common for all blocks in the very low tile. Also, encoding parameters such as quantization parameter selection are performed in common for all blocks in the tile. By applying the encoding method (encoding parameter) for each tile, the video data of the tile can be encoded / decoded independently of the video data belonging to another tile in the same frame. As a result, (1) individual processors can be allocated to tiles, and encoding / decoding can be performed in parallel. (2) Memory management and cache management can be performed by dividing video data of a frame into small tiles. (3) Encoding parameters can be selected independently for each tile (and optimization can be achieved), resulting in higher compression efficiency. (4) Interest in video sequences Several advantages are obtained, including that a tile can be decoded without decoding the entire frame to which the tile belongs. Therefore, a plurality of video encoders of FIG. 1 and video decoders of FIG. 6 are prepared, and a parallel processing system capable of independently decoding tiles can be configured.

本発明の種々の実施形態を、ここでは具体的に描写し、説明した。しかしながら、本発明の修正や改良は、本発明の基本的考えや意図された範囲から逸れることなく、上述の技術によってカバーされ、添付の請求項に含まれるということを理解すべきである。   Various embodiments of the present invention have been specifically depicted and described herein. However, it should be understood that modifications and improvements of the invention are covered by the above-described techniques and fall within the scope of the appended claims without departing from the basic idea or intended scope of the invention.

本発明の実施形態に基づくビデオ符号化システムのブロック図である。1 is a block diagram of a video encoding system according to an embodiment of the present invention. 本発明の実施形態に基づくブロック種別を示す図である。It is a figure which shows the block classification based on embodiment of this invention. 本発明の実施形態に基づくランレングス符号化器のスキャン方向を示す図である。It is a figure which shows the scanning direction of the run length encoder based on embodiment of this invention. ウェーブレット係数での符号化を行う本発明の実施形態に基づくブロック種別を示す図である。It is a figure which shows the block classification based on embodiment of this invention which performs an encoding by a wavelet coefficient. 本発明の実施形態に基づく可変長符号化器を示す図である。FIG. 3 is a diagram illustrating a variable length encoder according to an embodiment of the present invention. 本発明の実施形態に基づくビデオ復号システムのブロック図である。1 is a block diagram of a video decoding system according to an embodiment of the present invention. 本発明の実施形態に基づくランレングス読込方法を示すフローチャートである。5 is a flowchart illustrating a run length reading method according to an embodiment of the present invention. コンピュータの構成例を示す図である。It is a figure which shows the structural example of a computer.

Claims (21)

複数のブロックの画素データを変換係数に符号化する変換器と、
前記複数のブロックそれぞれにおける、予め選択された数の低周波の変換係数を含む第1サブブロックを符号化する第1可変長符号化器と、
前記複数のブロックそれぞれにおける、前記低周波の変換係数を除いた残りの変換係数を含む第2サブブロックを符号化する第2可変長符号化器と、
を備え
前記第1サブブロックを符号化する第1ランレングス符号化器と、
前記第2サブブロックを符号化する第2ランレングス符号化器と、
をさらに備え、
前記第1ランレングス符号化器は所定のスキャンパターンに従って前記第1サブブロックのペアを一緒に符号化し、
前記所定のスキャンパターンは、
サブブロックの前記ペアの1番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブブロックの前記ペアの2番目における最も高周波の係数へ移動し、
サブブロックの前記ペアの前記2番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするビデオ符号化システム。
A converter that encodes pixel data of a plurality of blocks into transform coefficients;
A first variable length encoder that encodes a first sub-block including a preselected number of low frequency transform coefficients in each of the plurality of blocks;
A second variable length encoder that encodes a second sub-block including the remaining transform coefficients excluding the low-frequency transform coefficients in each of the plurality of blocks;
Equipped with a,
A first run length encoder for encoding the first sub-block;
A second run length encoder for encoding the second sub-block;
Further comprising
The first run-length encoder encodes the first sub-block pair together according to a predetermined scan pattern;
The predetermined scan pattern is:
Zigzag from the lowest frequency coefficient to the highest frequency coefficient in the first of the pair of sub-blocks,
Move to the highest frequency coefficient in the second of the pair of sub-blocks,
A scan pattern that zigzags from the highest frequency coefficient to the lowest frequency coefficient in the second of the pair of sub-blocks.
A video encoding system characterized by the above.
前記第1および第2可変長符号化器のうちの少なくとも一方が、符号化器と選択可能な可変長符号割当表とを含むことを特徴とする請求項1に記載のビデオ符号化システム。   The video encoding system according to claim 1, wherein at least one of the first and second variable length encoders includes an encoder and a selectable variable length code allocation table. 前記第1および第2可変長符号化器が前記第1および第2サブブロックをそれぞれ直接符号化することを特徴とする請求項1に記載のビデオ符号化システム。   The video encoding system of claim 1, wherein the first and second variable length encoders directly encode the first and second sub-blocks, respectively. 入力されたビデオの各フレームを複数の画素ブロックに分割し、
ブロックごとに、
所定の変換方式に従って前記ブロックを複数の係数に符号化し、
所定の量子化パラメータに従って前記ブロックの係数を量子化し、
前記ブロックから係数のサブセットを取り出し、
前記取り出された係数を可変長符号化し、該符号化の結果を第1記憶領域に保存し、
前記取り出された係数を除いた残りの係数を可変長符号化し、該符号化の結果を第2記憶領域に保存する
ことを特徴とするビデオ符号化方法であって、
さらに、
可変長符号化の前に前記取り出された係数をランレングス符号化し、
可変長符号化の前に前記取り出された係数を除いた残りの係数をランレングス符号化する
ことを特徴とし、
前記取り出された係数のランレングス符号化は、所定のスキャンパターンに従って前記取り出された係数のサブセットのペアを一緒に符号化することを含み、
前記所定のスキャンパターンは、
サブセットの前記ペアの1番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブセットの前記ペアの2番目における最も高周波の係数へ移動し、
サブセットの前記ペアの前記2番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするビデオ符号化方法
Divide each frame of the input video into multiple pixel blocks,
For each block,
Encoding the block into a plurality of coefficients according to a predetermined transformation scheme;
Quantize the coefficients of the block according to predetermined quantization parameters;
Taking a subset of the coefficients from the block;
The extracted coefficient is variable length encoded, and the result of the encoding is stored in the first storage area,
A video encoding method characterized in that the remaining coefficients excluding the extracted coefficients are variable-length encoded, and the result of the encoding is stored in a second storage area ,
further,
Run-length encoding the extracted coefficients before variable length encoding;
Before the variable length coding, the remaining coefficients excluding the extracted coefficients are run-length coded.
It is characterized by
The run-length encoding of the extracted coefficients includes encoding together the pair of subsets of the extracted coefficients according to a predetermined scan pattern;
The predetermined scan pattern is:
Zigzag from the lowest frequency coefficient to the highest frequency coefficient in the first of the pair of subsets,
Move to the highest frequency coefficient in the second of the pair of subsets,
A scan pattern that zigzags from the highest frequency coefficient to the lowest frequency coefficient in the second of the pair of subsets
A video encoding method characterized by the above .
前記可変長符号化は、前記取り出された係数、および前記取り出された係数を除いた残りの係数を直接符号化することを含むことを特徴とする請求項に記載のビデオ符号化方法。 5. The video encoding method of claim 4 , wherein the variable length encoding includes directly encoding the extracted coefficient and the remaining coefficient excluding the extracted coefficient. 前記変換方式は離散コサイン変換であることを特徴とする請求項に記載のビデオ符号化方法。 5. The video encoding method according to claim 4 , wherein the conversion method is a discrete cosine transform. 前記変換方式はウェーブレット分解であることを特徴とする請求項に記載のビデオ符号化方法。 5. The video encoding method according to claim 4 , wherein the conversion method is wavelet decomposition. さらに、少なくとも1つのブロックについて、前記ブロックの画像データを隣接するブロックから予測することを特徴とする請求項に記載のビデオ符号化方法。 The video encoding method according to claim 4 , further comprising: predicting image data of the block from adjacent blocks for at least one block. ビデオシーケンスの各フレームはイントラ符号化フレームとして符号化されることを特徴とする請求項に記載のビデオ符号化方法。 5. The video encoding method according to claim 4 , wherein each frame of the video sequence is encoded as an intra-encoded frame. 所定の処理によって生成された符号化ビデオデータを保存しているコンピュータ読み取り可能な記憶媒体であって、前記所定の処理は、
入力されたビデオの各フレームを複数の画素ブロックに分割し、
ブロックごとに、
所定の変換方式に従って前記ブロックを複数の係数に符号化し、
所定の量子化パラメータに従って前記ブロックの係数を量子化し、
前記ブロックから係数のサブセットを取り出し、
前記取り出された係数を可変長符号化し、該符号化の結果を第1記憶領域に保存し、
前記取り出された係数を除いた残りの係数を可変長符号化し、該符号化の結果を第2記憶領域に保存する処理であり、
前記取り出された係数を示す符号化データは、前記取り出された係数を除いた残りの係数を示す符号化データから独立してアクセスされる、前記コンピュータ読み取り可能な記憶媒体における別の領域に保存される
ことを特徴とするコンピュータ読み取り可能な記憶媒体であって、
前記所定の処理はさらに、
可変長符号化の前に前記取り出された係数をランレングス符号化し、
可変長符号化の前に前記取り出された係数を除いた残りの係数をランレングス符号化する
ことを特徴とし、
前記取り出された係数のランレングス符号化は、所定のスキャンパターンに従って前記取り出された係数のサブセットのペアを一緒に符号化することを含み、
前記所定のスキャンパターンは、
サブセットの前記ペアの1番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブセットの前記ペアの2番目における最も高周波の係数へ移動し、
サブセットの前記ペアの前記2番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするコンピュータ読み取り可能な記憶媒体
A computer-readable storage medium storing encoded video data generated by a predetermined process, wherein the predetermined process includes:
Divide each frame of the input video into multiple pixel blocks,
For each block,
Encoding the block into a plurality of coefficients according to a predetermined transformation scheme;
Quantize the coefficients of the block according to predetermined quantization parameters;
Taking a subset of the coefficients from the block;
The extracted coefficient is variable length encoded, and the result of the encoding is stored in the first storage area,
Variable length encoding of the remaining coefficients excluding the extracted coefficients, and storing the result of the encoding in a second storage area;
The encoded data indicating the extracted coefficient is stored in a separate area in the computer-readable storage medium that is accessed independently from the encoded data indicating the remaining coefficient excluding the extracted coefficient. a computer-readable storage medium characterized by that,
The predetermined processing further includes
Run-length encoding the extracted coefficients before variable length encoding;
Before the variable length coding, the remaining coefficients excluding the extracted coefficients are run-length coded.
It is characterized by
The run-length encoding of the extracted coefficients includes encoding together the pair of subsets of the extracted coefficients according to a predetermined scan pattern;
The predetermined scan pattern is:
Zigzag from the lowest frequency coefficient to the highest frequency coefficient in the first of the pair of subsets,
Move to the highest frequency coefficient in the second of the pair of subsets,
A scan pattern that zigzags from the highest frequency coefficient to the lowest frequency coefficient in the second of the pair of subsets
A computer-readable storage medium .
第1符号化ビデオデータを入力とする第1ランレングス復号器と、
前記第1ランレングス復号器の出力に接続されて該出力を入力とするマルチプレクサと、
前記マルチプレクサの出力に接続される逆変換器と、
を備え、
前記第1ランレングス復号器は、縮小サイズのソースビデオシーケンスを示す前記第1符号化ビデオデータを復号するためのものであり、
前記第1符号化ビデオデータは、低周波のサブブロックのペアを単位として所定のスキャンパターンに従ってランレングス符号化されており、
前記所定のスキャンパターンは、
サブブロックの前記ペアの1番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブブロックの前記ペアの2番目における最も高周波の係数へ移動し、
サブブロックの前記ペアの前記2番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンであ
ことを特徴とするビデオ復号器。
A first run-length decoder having first encoded video data as input;
A multiplexer connected to the output of the first run-length decoder and receiving the output;
An inverse converter connected to the output of the multiplexer;
With
The first run-length decoder state, and are not for decoding said first coded video data representing source video sequence of reduced size,
The first encoded video data is run-length encoded according to a predetermined scan pattern in units of a pair of low frequency sub-blocks,
The predetermined scan pattern is:
Zigzag from the lowest frequency coefficient to the highest frequency coefficient in the first of the pair of sub-blocks,
Move to the highest frequency coefficient in the second of the pair of sub-blocks,
Video decoder, wherein Ru said scan pattern der proceeding zigzag toward from the highest frequency coefficient in a second to the coefficient of the lowest frequency of said pair of sub-blocks.
第2符号化ビデオデータを入力とする第2ランレングス復号器をさらに備え、
前記第2ランレングス復号器は、フルサイズのソースビデオシーケンスを示す前記第2符号化ビデオデータを復号するためのものである
ことを特徴とする請求項11に記載のビデオ復号器。
A second run-length decoder having the second encoded video data as input;
The video decoder according to claim 11 , wherein the second run-length decoder is for decoding the second encoded video data indicating a full-size source video sequence.
前記第1符号化ビデオデータを入力とし、前記第1ランレングス復号器の前記入力に接続されて当該入力を出力とする第1可変長復号器と
前記第2符号化ビデオデータを入力とし、前記第2ランレングス復号器の前記入力に接続されて当該入力を出力とする第2可変長復号器と
をさらに備えることを特徴とする請求項12に記載のビデオ復号器。
A first variable length decoder to output the first encoded video data as an input, connected to the input to said input of said first run length decoder,
A second variable length decoder to the second encoded video data as an input, is connected to the input of the second run-length decoder outputs the input,
The video decoder of claim 12 , further comprising:
前記第2ランレングス復号器を無効にするか否かを指示する制御入力をさらに含むことを特徴とする請求項12に記載のビデオ復号器。 13. The video decoder of claim 12 , further comprising a control input indicating whether to disable the second run length decoder. 前記逆変換器は逆離散コサイン変換器であることを特徴とする請求項11に記載のビデオ復号器。 The video decoder of claim 11 , wherein the inverse transformer is an inverse discrete cosine transformer. 前記逆変換器は逆ウェーブレット変換器であることを特徴とする請求項11に記載のビデオ復号器。 The video decoder of claim 11 , wherein the inverse transformer is an inverse wavelet transformer. 縮小サイズの画像を示す第1符号化ビデオデータを取り出し、
係数のブロックを取得するために前記第1符号化ビデオデータを復号し、
制御信号がフルサイズでの復号を実行することを指示している場合には、
第2符号化ビデオデータを取り出し、
前記係数を補う残りの係数のブロックを取得するために前記第2符号化ビデオデータを復号し、
前記係数と前記残りの係数とをブロックごとに結合し、
逆変換により、前記結合された係数のブロックから画素データを生成する
ことを特徴とするビデオ復号方法であって、
前記第1符号化ビデオデータは、低周波のサブブロックのペアを単位として所定のスキャンパターンに従ってランレングス符号化されており、
前記所定のスキャンパターンは、
サブブロックの前記ペアの1番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブブロックの前記ペアの2番目における最も高周波の係数へ移動し、
サブブロックの前記ペアの前記2番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするビデオ復号方法
Retrieving first encoded video data representing a reduced size image;
Decoding the first encoded video data to obtain a block of coefficients;
If the control signal indicates to perform full size decoding,
Retrieve the second encoded video data;
Decoding the second encoded video data to obtain a block of remaining coefficients that make up the coefficients;
Combining the coefficients and the remaining coefficients for each block;
A video decoding method characterized by generating pixel data from the combined coefficient block by inverse transformation ,
The first encoded video data is run-length encoded according to a predetermined scan pattern in units of a pair of low frequency sub-blocks,
The predetermined scan pattern is:
Zigzag from the lowest frequency coefficient to the highest frequency coefficient in the first of the pair of sub-blocks,
Move to the highest frequency coefficient in the second of the pair of sub-blocks,
A scan pattern that zigzags from the highest frequency coefficient to the lowest frequency coefficient in the second of the pair of sub-blocks.
A video decoding method characterized by the above .
前記制御信号がフルサイズでの復号を実行しないことを指示している場合には、前記第1符号化ビデオデータを復号することにより取得される前記係数のブロックから画素データを生成することをさらに含むことを特徴とする請求項17に記載のビデオ復号方法。 Generating the pixel data from the block of coefficients obtained by decoding the first encoded video data if the control signal indicates not to perform full size decoding; The video decoding method according to claim 17 , further comprising: 前記逆変換は逆離散コサイン変換であることを特徴とする請求項17に記載のビデオ復号方法。 The video decoding method according to claim 17 , wherein the inverse transform is an inverse discrete cosine transform. 前記逆変換は逆ウェーブレット変換であることを特徴とする請求項17に記載のビデオ復号方法。 The video decoding method according to claim 17 , wherein the inverse transform is an inverse wavelet transform. 前記第1符号化ビデオデータの復号は、直接計算により可変長符号化データを復号することを含むことを特徴とする請求項17に記載のビデオ復号方法。 The video decoding method according to claim 17 , wherein the decoding of the first encoded video data includes decoding variable length encoded data by direct calculation.
JP2006289177A 2006-10-24 2006-10-24 Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size Active JP4575344B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006289177A JP4575344B2 (en) 2006-10-24 2006-10-24 Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006289177A JP4575344B2 (en) 2006-10-24 2006-10-24 Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007506178A Division JP4430711B2 (en) 2004-03-30 2005-02-28 Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size

Publications (2)

Publication Number Publication Date
JP2007195146A JP2007195146A (en) 2007-08-02
JP4575344B2 true JP4575344B2 (en) 2010-11-04

Family

ID=38450441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006289177A Active JP4575344B2 (en) 2006-10-24 2006-10-24 Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size

Country Status (1)

Country Link
JP (1) JP4575344B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
KR101840008B1 (en) * 2011-06-24 2018-05-04 에스케이플래닛 주식회사 High quality video streaming service system and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244736A (en) * 1993-02-15 1994-09-02 Toshiba Corp Encoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244736A (en) * 1993-02-15 1994-09-02 Toshiba Corp Encoder

Also Published As

Publication number Publication date
JP2007195146A (en) 2007-08-02

Similar Documents

Publication Publication Date Title
JP4430711B2 (en) Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size
JP5027936B2 (en) Method, recording medium, program and processing device for adaptive scan ordering.
JP5819347B2 (en) Skip macroblock coding
JP5492206B2 (en) Image encoding method and image decoding method, and image encoding device and image decoding device
US7486212B2 (en) Variable length coding for sparse coefficients
CN102640498B (en) Method and device for image encoding and decoding by texture-pattern-adaptive partitioned block transform
JP2004134896A (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image processing system, image encoding program, and image decoding program
JP2016226001A (en) Decoder and decoding method
JP2005532768A (en) Intra-coding method and apparatus for video data
JP2006295796A (en) Image data decoding device and method
JP5841944B2 (en) Scalable image encoding and decoding
JP4575344B2 (en) Video coding system with multiple independent coding chains for dynamic and selective playback in reduced or full size
ES2299847T3 (en) FIXED BIT RATE, COMPRESSION AND DECOMPRESSION BETWEEN PICTURES OF A VIDEO.
JP3958033B2 (en) Method and system for compressing moving picture information
JP2003338995A (en) Image reproducing device and its method
JP2006165954A (en) Coding device, coding method, program and information recording medium
JP2004056575A (en) Moving image encoding device, moving image decoding device and their methods
JP2011254257A (en) Image compression device
JPH0465976A (en) Encoder for video signal
JP2009303151A (en) Variable length encoding apparatus and variable length encoding/decoding apparatus
JP2004254341A (en) Compression method of dynamic picture information and system thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100310

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100726

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100819

R150 Certificate of patent or registration of utility model

Ref document number: 4575344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250