JP3737352B2 - スタートコード検索回路 - Google Patents

スタートコード検索回路 Download PDF

Info

Publication number
JP3737352B2
JP3737352B2 JP2000290289A JP2000290289A JP3737352B2 JP 3737352 B2 JP3737352 B2 JP 3737352B2 JP 2000290289 A JP2000290289 A JP 2000290289A JP 2000290289 A JP2000290289 A JP 2000290289A JP 3737352 B2 JP3737352 B2 JP 3737352B2
Authority
JP
Japan
Prior art keywords
start code
bit stream
circuit
shift amount
bit
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.)
Expired - Fee Related
Application number
JP2000290289A
Other languages
English (en)
Other versions
JP2002099407A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000290289A priority Critical patent/JP3737352B2/ja
Publication of JP2002099407A publication Critical patent/JP2002099407A/ja
Application granted granted Critical
Publication of JP3737352B2 publication Critical patent/JP3737352B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ビットストリームを検索してビットストリームに含まれるスタートコードを検出するスタートコード検索回路に関する。
【0002】
【従来の技術】
例えば、情報の圧縮規格の一つであるMPEGに準拠した圧縮画像データ(以下、ビットストリームと呼ぶ)をデコードするデコード装置としては、例えば図5に示すようなものがある。図5において、デコード装置は、可変長符号デコーダ回路B1、RLD回路B2、逆量子化回路B3、逆DCT回路B4、動き補償・フレーム予測回路B5ならびにフレームメモリM1を備えて構成されている。
【0003】
このようなデコード装置において、ビットストリームは例えば外部、例えば衛星電波受信機やDVDなどから入力される。入力されたビットストリームから、ビットストリーム内の目印であるスタートコードが可変長符号デコード回路B1で検索される。検索において、順次ビットストリームから画像のDCT係数のランレベル情報や、動きベクトル及びその他のヘッダ情報が復号される。復号されたDCT係数のランレベル情報はRLD回路B2でDCT係数へ変換され、更に逆量子化回路B3で量子化特性と量子化マトリクスによって決定される値で逆量子化される。そして、逆DCT回路B4で逆離散コサイン変換され、復号画像として動き補償・フレーム予測回路B5に入力される。動き補償・フレーム予測回路B5では、Iピクチャの場合は復号画像を復号信号として出力する。P、Bピクチャの場合は、各画像タイプに従って適時フレームメモリM1に格納された画像情報から動きベクトルを用いて予測画像を生成し、復号画像と予測画像を足し合わせたものを復号信号として出力する。
【0004】
図6は、従来のスタートコード検索機能付可変長符号デコード回路の構成を示す図である。図6において、スタートコード検索機能付可変長符号デコード回路は、レジスタR1〜R5、加算器A1、シフタ回路S1、ビットストリームからDCT係数のランレベル形式等に変換する変換テーブルT1、ビットストリームの先頭にある符号語から符号長を出力する符号長出力テーブルT2、ならびにスタートコードを検出する判定回路C1を備えて構成されている。なお、MPEGではスタートコードは32ビット長であり、最上位ビットから23ビット目までが“0”で、24ビット目が“1”という特徴を有している。また、スタートコードは、ビットストリーム内でバイトアラインされているものとする。
【0005】
図6において、FIFOに構成されたレジスタR2、R3、R4にビットストリームが先頭から順に格納される。レジスタR2〜R4に格納されたビットストリームの先頭ビット位置をレジスタR1に保持する。この状態で1サイクル分クロックを進めると、レジスタR2〜R4から出力されたビットストリームからシフタ回路S1によって頭出しが行われ、レジスタR5に格納される。これを初期状態とする。
【0006】
次に、判定回路C1をレジスタR5の値で参照することにより、頭出しされてレジスタR5に格納されたデータがスタートコードか否かが判定される。スタートコードであると判定されるまで、8ビット分ビットストリームを先頭から切り捨てる。すなわち、以下の処理を行う。
【0007】
1.レジスタR1の値と“8”を加算器A1で加えた値(これをnとする)が、新たなビットストリーム先頭の位置となる。この値nの下位5ビットを、レジスタR1に格納する。
【0008】
2.FIFO(レジスタR2、R3、R4)からの出力を、シフタ回路S1を用いてnビットシフトさせ、頭出ししたビットストリームをレジスタR5に格納する。
【0009】
3.nが32以上の値であった場合は、FIFOを32ビット分更新する。
【0010】
このような検索処理を行うことにより、与えられたビットストリームからスタートコードが検出され、検出されたスタートコードがレジスタR5に格納される。
【0011】
【発明が解決しようとする課題】
以上説明したように、ビットストリームからスタートコードを検索する従来の検索回路においては、ビットストリームから32ビットのスタートコードを検出する場合には、一連のビットストリームの先頭から1サイクル当たり8ビット(=スタートコードのバイト間隔)ずつ検索を進めていた。このため、ビットストリームからスタートコードを検出するためには、多大な検索時間が必要になるといった不具合を招いていた。
【0012】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、ビットストリームを検索してスタートコードを検出する検出時間を短縮したスタートコード検索回路を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するために、課題を解決するための第1の手段は、与えられたシフト量にしたがって入力された圧縮データ(ビットストリーム)をシフトし、シフトしたビットストリームからスタートコードと同じビット数の単位ビットストリームを出力するシフタ回路と、前記シフタ回路から出力された単位ビットストリームがスタートコードであるか否かを判定する判定回路とを具備し、前記シフタ回路により一連のビットストリームをシフトしながら順次検索して、一連のビットストリームの中からスタートコードを検出するスタートコード検索回路において、前記シフタ回路から出力された単位ビットストリームを受けて、単位ビットストリームと、スタートコードのビット配列に応じて予め用意された複数の比較情報とを比較し、比較結果に応じて前記シフタ回路のシフト量を与えるシフト量出力テーブルを具備し、前記シフト量出力テーブルは、比較情報(ビットストリーム)と、該比較情報に対応するシフト量(切り捨て量)との関係が、
【0015】
【表3】
Figure 0003737352
であることを特徴とする。
【0016】
第2の手段は、与えられたシフト量にしたがって入力された圧縮データ(ビットストリーム)をシフトし、シフトしたビットストリームからスタートコードと同じビット数の単位ビットストリームを出力するシフタ回路と、前記シフタ回路から出力された単位ビットストリームがスタートコードであるか否かを判定する判定回路とを具備し、前記シフタ回路により一連のビットストリームをシフトしながら順次検索して、一連のビットストリームの中からスタートコードを検出するスタートコード検索回路において、前記シフタ回路から出力された単位ビットストリームを受けて、単位ビットストリームと、スタートコードのビット配列に応じて予め用意された複数の比較情報とを比較し、比較結果に応じて前記シフタ回路のシフト量を与えるシフト量出力テーブルを具備し、前記シフト量出力テーブルは、比較情報(ビットストリーム)と、該比較情報に対応するシフト量(切り捨て量)との関係が、
【0017】
【表4】
Figure 0003737352
であることを特徴とする。
【0018】
【発明の実施の形態】
以下、図面を用いてこの発明の実施形態を説明する。
【0019】
図1はこの発明の一実施形態に係るスタートコード検索回路の構成を示す図である。図1において、この実施形態のスタートコード検索回路は、図6に示す構成に加えて、シフト量出力テーブルT3を備えて構成され、図6に示す回路と同様にビットストリームから可変長符号をデコードする機能(この発明の特徴となるものではない)も備えており、図6に示すと同様の変換テーブルT1ならびに符号長出力テーブルT2は、専らビットストリームから可変長符号をデコードする際に使用される構成要素である。また、レジスタR1〜R5、加算器A1、シフタ回路S1は、ビットストリームからスタートコードを検出する際に用いられるとともに、ビットストリームから可変長符号をデコードする際にも使用されるものである。なお、この実施形態では、スタートコードは、従来と同様なビット構成とし、ビットストリーム内でバイトアラインされているものとする。
【0020】
シフト量出力テーブルT3は、レジスタR5に格納された32ビットのビットストリームと、図2に示す32ビットの4つの比較情報とを比較し、比較結果に応じて切り捨て量(シフト量)mを出力する。32ビットの比較情報は、図2に示すように、
【表5】
(1) 00000000_00000000_00000001_XXXXXXXX
(2) XXXXXXXX_00000000_00000000_00000001
(3) XXXXXXXX_XXXXXXXX_00000000_00000000
(4) XXXXXXXX_XXXXXXXX_XXXXXXXX_00000000
となる。レジスタR5に格納された32ビットのビットストリームと、上記(1)に示す比較情報との比較において両者が一致した場合には、レジスタR5に格納されたビットストリームは、スタートコードであり、判定回路C1によりスタートコードであると検出される。したがって、切り捨ては行われず、切り捨て量mとしては“0”となる。次に、レジスタR5に格納された32ビットのビットストリームと、上記(2)に示す比較情報との比較において両者が一致した場合には、シフト量出力テーブルT3は、切り捨て量mとして“8”を出力する。レジスタR5に格納された32ビットのビットストリームと、上記(3)に示す比較情報との比較において両者が一致した場合には、シフト量出力テーブルT3は、切り捨て量mとして“16”を出力する。レジスタR5に格納された32ビットのビットストリームと、上記(4)に示す比較情報との比較において両者が一致した場合には、シフト量出力テーブルT3は、切り捨て量mとして“24”を出力する。レジスタR5に格納された32ビットのビットストリームが、シフト量出力テーブルのいずれの値とも一致(マッチ)しなかった場合には、シフト量出力テーブルT3は、切り捨て量mとして“32”を出力する。このようなシフト量出力テーブルT3は、例えば論理ゲートやメモリのRAM、ROM等により構成される。
【0021】
このような構成において、まずFIFO(レジスタR2、R3、R4)にビットストリームが先頭から順に格納される。FIFOに格納されたビットストリームの先頭ビット位置をレジスタR1に保持する。この状態で1サイクル分クロックを進めると、FIFOから出力されたビットストリームからシフタ回路S1によって32ビットのビットストリームが出力されて頭出しが行われ、レジスタR5に格納される。これを初期状態とする。
【0022】
このような初期状態において、判定回路C1をレジスタR5の値で参照することにより、レジスタR5に格納された値がスタートコードであるか否かを判定する。スタートコードと判定されるまで、mビット分ビットストリームを先頭から順次切り捨てる。切り捨て量mの値は、レジスタR5の値をシフト量出力テーブルT3の図2に示す値と先頭から順次比較して、マッチあるいはマッチしないときのシフト量出力テーブルT3の値となる。レジスタR5の下位24ビットの値が、「00000000_00000000_00000001」にマッチするか否かが判定され、マッチした場合はm=8とする。レジスタR5の下位16ビットの値が、「00000000_00000000 」にマッチするか否かが判定され、マッチした場合はm=16とする。レジスタR5の下位8ビットの値が、「00000000」にマッチするか否かが判定され、マッチした場合はm=24とする。いずれでもない場合には、m=32とする。
【0023】
このようにして、切り捨て量mがシフト量出力テーブルT3から出力されると、この切り捨て量に基づいてFIFO(レジスタR2、R3、R4)からシフタ回路S1に与えられるビットストリームがシフタ回路S1でシフトされて切り捨てが行われる。切り捨て処理は、従来と同様に行われて、シフト量出力テーブルT3から出力された切り捨て量mとレジスタR1に格納された値とを加算器A1で加算し、加算結果のシフト量としてFIFO(レジスタR2、R3、R4)からシフタ回路S1に与えられてビットストリームがシフタ回路S1でシフトされる。
【0024】
このような検索処理をビットストリームからスタートコードが検出されるまで順次行われる。したがって、上記実施形態においては、シフト量出力テーブルT3を備えることによって、1サイクル当たり最大で32ビットずつビットストリームの検索を進めることが可能となる。これにより、ビットストリームからスタートコードを検出するまでの時間を従来に比べて短縮することができるようになる。
【0025】
図3はこの発明の他の実施形態に係るスタートコード検索回路の構成を示す図である。図3において、この実施形態の特徴とするところは、スタートコードが、ビットストリーム内でバイトアラインされていないものに適用できることを特徴とし、図1に示すシフト量出力テーブルT3に代えてシフト量出力テーブルT4を備え、他の構成は図1と同様である。なお、図3において、図1と同符号のものは同様な構成であり、その説明は省略する。
【0026】
シフト量出力テーブルT4は、レジスタR5に格納された32ビットのビットストリームと、図4に示す32ビットの比較情報とを比較し、比較結果に応じて切り捨て量(シフト量)mを出力する。32ビットの比較情報は、図4に示すように、「00000000_00000000_00000001_XXXXXXXX」〜 「XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXX0 」となり、切り捨て量mは、それぞれの比較情報に対応して図4に示すようにm=0〜31となり、いずれにもマッチしない場合には、m=32となる。
【0027】
このようなシフト量出力テーブルT4を用い、先の実施形態と全く同様にしてシフト量出力テーブルT4から出力された切り捨て量mに基づいてシフタ回路S1でシフトを行い、ビットストリームを検索してビットストリームからスタートコードを検出する。したがって、このような実施形態においては、スタートコードが、ビットストリーム内でバイトアラインされていない場合であっても、先の実施形態と同様の効果を得ることができる。
【0028】
【発明の効果】
以上説明したように、この発明によれば、ビットストリームをシフトするシフタ回路のシフト出力とシフト量出力テーブルの比較情報との比較結果に応じて、シフタ回路のシフト量を与えるようにしたので、ビットストリームを検索してスタートコードを検出するようにしたので、スタートコードを検出する時間を従来に比べて短縮することができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るスタートコード検索回路の構成を示す図である。
【図2】図1に示すシフト量出力テーブルT3の内容を示す図である。
【図3】この発明の他の実施形態に係るスタートコード検索回路の構成を示す図である。
【図4】図3に示すシフト量出力テーブルT4の内容を示す図である。
【図5】圧縮画像データをデコードする従来の装置の構成を示す図である。
【図6】スタートコード検索機能を有する従来の可変長符号デコード回路の構成を示す図である。
【符号の説明】
R1,R2,R3,R4,R5 レジスタ
A1 加算器
S1 シフタ回路
C1 判定回路
T1 変換テーブル
T2 符号長出力テーブル
T3,T4 シフト量出力テーブル

Claims (2)

  1. 与えられたシフト量にしたがって入力された圧縮データ(ビットストリーム)をシフトし、シフトしたビットストリームからスタートコードと同じビット数の単位ビットストリームを出力するシフタ回路と、
    前記シフタ回路から出力された単位ビットストリームがスタートコードであるか否かを判定する判定回路とを具備し、
    前記シフタ回路により一連のビットストリームをシフトしながら順次検索して、一連のビットストリームの中からスタートコードを検出するスタートコード検索回路において、
    前記シフタ回路から出力された単位ビットストリームを受けて、単位ビットストリームと、スタートコードのビット配列に応じて予め用意された複数の比較情報とを比較し、比較結果に応じて前記シフタ回路のシフト量を与えるシフト量出力テーブルを具備し、
    前記シフト量出力テーブルは、比較情報(ビットストリーム)と、該比較情報に対応するシフト量(切り捨て量)との関係が、
    Figure 0003737352
    であることを特徴とするスタートコード検索回路。
  2. 与えられたシフト量にしたがって入力された圧縮データ(ビットストリーム)をシフトし、シフトしたビットストリームからスタートコードと同じビット数の単位ビットストリームを出力するシフタ回路と、
    前記シフタ回路から出力された単位ビットストリームがスタートコードであるか否かを判定する判定回路とを具備し、
    前記シフタ回路により一連のビットストリームをシフトしながら順次検索して、一連のビットストリームの中からスタートコードを検出するスタートコード検索回路において、
    前記シフタ回路から出力された単位ビットストリームを受けて、単位ビットストリームと、スタートコードのビット配列に応じて予め用意された複数の比較情報とを比較し、比較結果に応じて前記シフタ回路のシフト量を与えるシフト量出力テーブルを具備し、
    前記シフト量出力テーブルは、比較情報(ビットストリーム)と、該比較情報に対応するシフト量(切り捨て量)との関係が、
    Figure 0003737352
    であることを特徴とするスタートコード検索回路。
JP2000290289A 2000-09-25 2000-09-25 スタートコード検索回路 Expired - Fee Related JP3737352B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000290289A JP3737352B2 (ja) 2000-09-25 2000-09-25 スタートコード検索回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000290289A JP3737352B2 (ja) 2000-09-25 2000-09-25 スタートコード検索回路

Publications (2)

Publication Number Publication Date
JP2002099407A JP2002099407A (ja) 2002-04-05
JP3737352B2 true JP3737352B2 (ja) 2006-01-18

Family

ID=18773536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000290289A Expired - Fee Related JP3737352B2 (ja) 2000-09-25 2000-09-25 スタートコード検索回路

Country Status (1)

Country Link
JP (1) JP3737352B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002080566A1 (fr) * 2001-03-29 2002-10-10 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de traitement de donnees, dispositif et procede de reproduction de donnees, dispositif et procede de transmission de donnees et support d'enregistrement
DE60310368T2 (de) 2002-01-22 2007-03-29 Microsoft Corp., Redmond Verfahren zur verhinderung von startkode-emulation und stopfdaten
JP3807379B2 (ja) * 2003-02-21 2006-08-09 ソニー株式会社 パターン検出回路
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention

Also Published As

Publication number Publication date
JP2002099407A (ja) 2002-04-05

Similar Documents

Publication Publication Date Title
US6587057B2 (en) High performance memory efficient variable-length coding decoder
US7132963B2 (en) Methods and apparatus for processing variable length coded data
US6842124B2 (en) Variable length decoder
JP4422833B2 (ja) 可変長符号語を復号する復号器及び方法
US7804903B2 (en) Hardware-based CABAC decoder
US8462841B2 (en) System, method and device to encode and decode video data having multiple video data formats
US6043765A (en) Method and apparatus for performing a parallel speculative Huffman decoding using both partial and full decoders
US6285789B1 (en) Variable length code decoder for MPEG
US7880647B1 (en) Huffman decoding method
JP3737352B2 (ja) スタートコード検索回路
US20050174270A1 (en) Programmable variable length decoder including interface of cpu processor
US6020835A (en) Code decoding apparatus
US8228214B2 (en) Variable-length code decoding apparatus and method
US6798365B2 (en) JPEG Huffman table decoder and method thereof based on binary search technique
US6512852B1 (en) Method and apparatus for concatenating bits of odd-length words
US7142603B2 (en) Method and system for predictive table look-up code length of variable length code
US7702021B2 (en) Decoding of digital video standard material during variable length decoding
JP2638424B2 (ja) 可変長復号化装置
JP2003529252A (ja) 奇数長ワードのビットを連結する方法および装置
KR0122326B1 (ko) 비디오 비트열 디코더
JP2000244752A (ja) 復号化装置
JP2006041659A (ja) 可変長デコーダ
KR19990049273A (ko) 디지털 브이씨알의 가변길이 복호화 장치
KR20030080377A (ko) 디지털 방송 수신기에서의 pts 관리 방법
KR19980054423A (ko) 고선명 티브이의 코드디멀티플렉서

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051026

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

Free format text: PAYMENT UNTIL: 20081104

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111104

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121104

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees