JPH1155661A - 画像エンコーダ - Google Patents

画像エンコーダ

Info

Publication number
JPH1155661A
JPH1155661A JP20686697A JP20686697A JPH1155661A JP H1155661 A JPH1155661 A JP H1155661A JP 20686697 A JP20686697 A JP 20686697A JP 20686697 A JP20686697 A JP 20686697A JP H1155661 A JPH1155661 A JP H1155661A
Authority
JP
Japan
Prior art keywords
bit
data
length
count value
bit count
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.)
Pending
Application number
JP20686697A
Other languages
English (en)
Inventor
Eiji Miyakoshi
英司 宮越
Akihiro Watabe
彰啓 渡部
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP20686697A priority Critical patent/JPH1155661A/ja
Publication of JPH1155661A publication Critical patent/JPH1155661A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 パケット化を短時間で達成する画像エンコー
ダ、および回路量の少ない画像エンコーダを提供する。 【解決手段】 固定長符号発生器70と、可変長符号発
生器75と、ビットパッキング器80と、記憶器30
と、コントローラ50とを備え、入力画像データを圧縮
し出力データストリームを生成する。コントローラは、
作業用メモリからビットカウント値を読み出し第1ビッ
トカウント値として作業用メモリに記憶し、かつそれに
基づき記憶器30の第1ビットカウント値に対応するロ
ケーションを決定して作業用メモリに記憶する。また固
定長データストリームと可変長データストリームを記憶
器に記憶させる。更にビットカウント値を再び読み出
し、そのビットカウント値を第2ビットカウント値とし
て作業用メモリに記憶し、第1および第2のビットカウ
ント値に基づき可変長データストリームのデータ量を決
定し格納する。そのための記憶器のロケーションを前記
ロケーションに基づき決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は入力画像データを圧
縮して出力ビットストリームを生成する画像エンコーダ
に関する。
【0002】
【従来の技術】図8は、従来の画像エンコーダ800の
構成を示す。
【0003】従来の画像エンコーダ800は、符号化部
820と、記憶器830と、パケット化部840とを備
えている。
【0004】符号化部820は、入力画像データD60
を符号化して符号化画像データD70を生成し、これを
記憶器830に記憶する。
【0005】パケット化部840は、記憶器830から
符号化画像データD70を読み出してパケット化し、パ
ケットD80を生成する。
【0006】画像エンコーダ800の処理手順を説明す
る前に、画像エンコーダ800が生成するパケットの典
型的な構成を説明する。
【0007】図9は、画像エンコーダ800が生成する
パケットの典型である、PES(Packetized Elementary
Stream)パケット900のデータ構造の一例を示す。
【0008】PESパケット900は、PESヘッダ部
920とペイロードデータ部930とを含む。
【0009】PESヘッダ部920は固定長である。P
ESヘッダ部920は、パケット開始コード921、ス
トリームID922、パケット長923、PTS(Pres
entation Time Stamp)924などを含む。
【0010】パケット開始コード921は、PESパケ
ットの先頭を示す。ストリームID922は、データの
種別を示す。パケット長923は、パケット長923の
フィールドの次のフィールドからパケット900の最後
までのデータ量を示す。PTS924は、パケットの時
刻情報である。PTS924の時刻情報は、他のパケッ
トと同期をとるためのデータであり、かならずしも絶対
的な時刻である必要はない。任意の時刻を基準とした相
対的な時刻でかまわない。
【0011】たとえば、NTSCの画像であれば、フレ
ームレートが30枚/秒、かつPTSのカウント周期が
90kHzである。このため、1つのパケットにつき、
1/30*90000=3000刻みで増加するように設定すればよ
い。PTS924の初期値は任意の値でかまわないが、
同期させるべき他の情報(画像データに対応する音声パ
ケットなど)とは値をあわせる必要がある。
【0012】ペイロードデータ部930は、可変長であ
る。ペイロードデータ部930は、圧縮画像データ93
4と、それに関連するサイド情報932とを含む。圧縮
画像データ934は複数のアクセスユニット(ピクチ
ャ)を含んでもよいし、1つのアクセスユニット(ピク
チャ)のみを含んでもよい。図9は、圧縮画像データ9
34が1つのピクチャからなる場合の図である。なお、
圧縮画像データ934が複数のピクチャを含む場合で
も、画像エンコーダ800の処理手順は変わらない。
【0013】サイド情報932の先頭には、ペイロード
データ部930の先頭を示すピクチャ開始コード931
がある。サイド情報932は、ピクチャ開始コード93
1のほかに所定のデータを含む。
【0014】以下に、従来の画像エンコーダ800の処
理手順を説明する。
【0015】符号化部820は、入力画像データD60
が入力されると、それを符号化して圧縮画像データ93
4を生成し、これに、圧縮画像データ934に関連する
サイド情報932を付加して、PESパケット900の
ペイロードデータ部930を生成する。生成したペイロ
ードデータ部930は、符号化画像データD70として
ひとまず記憶器830に記憶される。
【0016】つぎにパケット化部840は、記憶器83
0から符号化画像データD70を読み出し、これにPE
Sヘッダ部920を付加することによってPESパケッ
トD80を生成する。
【0017】ところで、パケット化部840がパケット
化の処理をおこなうにあたっては、まず、記憶器830
に記憶されている各符号化画像データD70(ペイロー
ドデータ部930)の先頭位置を知る必要がある。上述
のように、各ペイロードデータ部の先頭位置は、ピクチ
ャ開始コード931によって示される。すなわち、パケ
ット化部840が各符号化画像データD70(ペイロー
ドデータ部930)をパケット化するごとに、ピクチャ
開始コード931をみつけなければならない。これは、
パケット化の処理時間を増大させる結果となる。
【0018】
【発明が解決しようとする課題】以上のように、画像デ
ータを圧縮してパケット化する従来の画像エンコーダに
おいては、処理時間が多くかかるという問題があった。
また、符号化部とパケット化部とが別々の回路で実現さ
れることから、回路量が多くなるという問題があった。
【0019】本発明は、上記問題点に鑑みてなされたも
のであり、その目的とするところは、パケット化を短時
間で達成する画像エンコーダを提供することである。ま
た、本発明の別の目的は、回路量の少ない画像エンコー
ダを提供することである。
【0020】
【課題を解決するための手段】本発明による画像エンコ
ーダは、固定長符号発生器と、可変長符号発生器と、ビ
ットパッキング器と、記憶器と、コントローラとを備え
た、入力画像データを圧縮し出力データストリームを生
成する画像エンコーダであって、コントローラは、ビッ
トカウンタと作業用メモリとを有し、固定長符号発生
器、可変長符号発生器、ビットパッキング器、および記
憶器を制御し、コントローラは、ビットカウンタからビ
ットカウント値を読み出すステップと、ビットカウント
値を第1のビットカウント値として作業用メモリに記憶
するステップと、第1のビットカウント値に基づいて記
憶器の第1のビットカウント値に対応するロケーション
を第1のロケーションとして決定するステップと、第1
のロケーションを作業用メモリに記憶するステップと、
固定長符号発生器に固定長データストリームを生成さ
せ、固定長データストリームを記憶器に記憶させるステ
ップと、可変長符号発生器に可変長データストリームを
生成させ、可変長データストリームを記憶器に記憶させ
るステップと、ビットカウンタからビットカウント値を
再び読み出すステップと、読み出したビットカウント値
を第2のビットカウント値として作業用メモリに記憶す
るステップと、第1および第2のビットカウント値に基
づいて可変長データストリームのデータ量を決定するス
テップと、可変長データストリームのデータ量を格納す
るための記憶器のロケーションを第1のロケーションに
基づいて第2のロケーションとして決定するステップ
と、第2のロケーションを作業用メモリに記憶するステ
ップと、所定の可変データを記憶器の第2のロケーショ
ンに記憶させるステップと、を実行する画像エンコーダ
であり、そのことにより上記目的が達成される。
【0021】ある実施形態では、コントローラが、可変
長データストリームを記憶器のバス幅に応じてバイトア
ライン処理をするステップをさらに実行する。
【0022】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を説明する。
【0023】(実施の形態1)図1は、本発明の画像エ
ンコーダ100の構成を示す。
【0024】画像エンコーダ100は、圧縮部10と、
符号化部20と、記憶器30とを有する。圧縮部10
は、画像エンコーダ100に入力された画像データD1
0を圧縮する。符号化部20は、圧縮部10で圧縮され
た圧縮データD20を受け取り、符号化およびパケット
化して出力データストリームD40を生成し、記憶器3
0へと出力する。記憶器30は符号化部20から出力さ
れた出力データストリームD40を記憶する。
【0025】出力データストリームD40は、たとえば
PES(Packetized Elementary Stream)パケットであ
る。本実施の形態では、出力データストリームD40の
例としてPESパケットを用いる。しかし、本発明をP
ESパケット以外の出力データストリームの生成に適用
することも可能である。
【0026】符号化部20は、バッファ40、可変長符
号化テーブル45、コントローラ50、固定長符号発生
器70、可変長符号発生器75、ビットパッキング器8
0、およびダイレクトメモリアクセス回路90を備えて
いる。
【0027】バッファ40は、圧縮部10から入力され
た圧縮データD20を、可変長符号発生器75に入力す
る前にいったんバッファリングする。
【0028】コントローラ50は、ビットカウンタ52
および作業用メモリ54を有する。ビットカウンタ52
は、記憶器30に書き込まれたデータ量の累積値をビッ
トカウント値として保持している。コントローラ50は
また、固定長符号発生器70、可変長符号発生器75、
ビットパッキング器80、および記憶器30を制御す
る。
【0029】固定長符号発生器70は、コントローラ5
0から固定長符号化命令(FLC命令)170を受け取
り、固定長符号化をおこなう。FLC命令170は、オ
ペランドとして固定長符号化コードおよびそのコード長
を含む。固定長符号発生器70は、固定長符号化コード
(固定長データストリーム)D32を生成し、固定長符
号化コードD32およびそのコード長D34をビットパ
ッキング器80へと出力する。
【0030】可変長符号発生器75は、コントローラ5
0から可変長符号化命令(VLC命令)175を受け取
り、可変長符号化をおこなう。VLC命令175は、オ
ペランドとしてアドレス情報を含む。可変長符号発生器
75は、VLC命令175のアドレス情報に基づき、可
変長符号化テーブル45にアドレッシングする。可変長
符号化テーブル45は、可変長符号化コードおよびその
コード長を可変長符号発生器75に与える。可変長符号
発生器75は、可変長符号化コード(可変長データスト
リーム)D36を生成し、可変長符号化コードD36お
よびそのコード長D38をビットパッキング器80へと
出力する。
【0031】ビットパッキング器80は、固定長符号化
コードD32およびそのコード長D34、または可変長
符号化コードD36およびそのコード長D38を受け取
り、出力データストリームD40を生成する。出力デー
タストリームD40は、記憶器30へと出力される。
【0032】ダイレクトメモリアクセス回路90は、コ
ントローラ50からダイレクトメモリアクセス命令(D
MA命令)を受け取り、それに基づいて記憶器30に記
憶されているデータを書き換える。
【0033】図2は、ビットパッキング器80の構成を
示す。
【0034】ビットパッキング器80は、ビット量カウ
ンタ210、シフト量演算器220、シフト動作器23
0、算術OR回路240、およびデータ保持器250を
含んでいる。
【0035】ビット量カウンタ210およびシフト量演
算器220には、固定長符号化コードのコード長(ビッ
ト量)D34と可変長符号化コードのコード長(ビット
量)D38とがそれぞれ入力される。
【0036】ビット量カウンタ210は、入力されたコ
ード長D34およびD38のいずれか一方に基づいて累
積ビットカウンタをインクリメントする。シフト量演算
器220は、入力されたコード長D34およびD38の
いずれか一方に基づいてシフトするべき量(シフト量)
270を計算する。シフト量270については、後述す
る。
【0037】シフト動作器230は、シフト量演算器2
20で計算されたシフト量270の分だけ、入力された
固定長符号化コードD32および可変長符号化コードD
36のいずれか一方をシフトする。
【0038】算術OR回路240は、シフト動作器23
0にてシフトされた固定長符号化コードD32または可
変長符号化コードD36と、すでにデータ保持器250
に保持されているデータとのORを取る。その結果は、
データ保持器250に上書きされる。
【0039】データ保持器250は、固定長符号化コー
ドD32および可変長符号化コードD36を一時的に保
持する。データ保持器250は、シフト量演算器220
からスワップ信号260を受けると、保持しているデー
タのうち先頭ビットから所定の出力バス幅N*8ビット
(Nは自然数)の分だけデータを出力する。そして、出
力されなかった残りのデータを先頭ビットにまでシフト
する。
【0040】図3(a)および(b)に、シフト動作の
概念を示す。
【0041】図3(a)は、ある1つのパケットを生成
しはじめた後のデータのシフトの様子を示す。
【0042】図3(b)は、パケットを生成しはじめた
あとで、バス幅(N*8)分のデータが記憶器30へと
掃き出された直後のデータのシフトの様子を示す。
【0043】以下、単に「符号化コード」と書いた場合
には、固定長符号化コードと可変長符号化コードとを包
含するものとする。
【0044】はじめに、固定長符号化コードD34また
は可変長符号化コードD36の入力として、Xビット
(X<N*8)の符号化コード300が入力されたとす
る。データ保持器250の長さ「N*8+A」ビットだ
け左詰めにすれば、符号化コード300は、データ保持
器250において左詰めに保持されることになる。すな
わち、符号化コード300のシフト量は「N*8+A」
ビットということになる。
【0045】ついで、符号化コードD32またはD36
として、Yビット(X+Y<N*8)の符号化コード3
10が入力されたとする。データ保持器250の長さ
「N*8+A」ビットからXビットを引いた値(N*8
+A−X)だけ左にシフトすれば、符号化コード310
は、データ保持器250のデータ(現時点では符号化コ
ード300のみ)と算術ORをとったときに符号化コー
ド300のすぐ右に保持されるようになる。すなわち、
符号化コード310のシフト量は「N*8+A−X」と
いうことになる。
【0046】さらに3つめのコードとしてZビット(X
+Y+Z>N*8)の符号化コード320が入力された
とする。データ保持器250の長さ「N*8+A」ビッ
トからXビットおよびYビットを引いた値(N*8+A
−X−Y)だけ左にシフトすれば、符号化コード320
は、データ保持器250のデータ(現時点で符号化コー
ド300および310)と算術ORをとったときに符号
化コード310のすぐ右に保持されるようになる。すな
わち、符号化コード320のシフト量は「N*8+A−
X−Y」ということになるこのようにして、シフト量2
70がシフト量演算器220によって決定される。シフ
ト動作器230は、シフト量270にしたがって、入力
された符号化データD32またはD36をシフトする。
シフトされたデータは、つぎに算術OR回路240によ
って、すでにデータ保持器250にて保持されているデ
ータとORをとられ、上述のようにデータ保持器250
に上書きされる。
【0047】以上のようにして、入力された符号化コー
ドD32およびD36が、データ保持器250に左詰め
で保持されていく。
【0048】データ保持器250に保持されるデータ量
が出力バス幅N*8ビットをいったん超えると、ビット
量カウンタ210からデータ保持器250にスワップ信
号260が送られる。データ保持器250は、ビット量
カウンタ210からスワップ信号260を受け取ると、
保持しているデータのうち先頭ビットから出力バス幅N
*8の分のデータを記憶器30へと出力する。
【0049】このとき、シフト量は、つぎに入力される
符号化データが、データ保持器250に残っている符号
化コード320の繰り越し部分(符号化コード325)
のすぐ右に保持されるような値に再設定される。符号化
コード325のビット量は、「X+Y+Z−N*8」で
あるから、このときのシフト量は、「N*8−A−(X
+Y+Z−N*8)」である。
【0050】以上の繰り返しにより、入力される符号化
コードD32およびD36を左詰めの状態でデータ保持
器に保持し、出力バス幅に達するごとに符号化コードを
記憶器30へと出力する。
【0051】最後に、パケットの最終符号化コードとし
て符号化コードD32およびD36のいずれか一方が入
力されると、コントローラ50は、ビット量カウンタ2
10、シフト量演算器220、およびデータ保持器25
0に終了命令180を送出する。
【0052】ビット量カウンタ210は、終了命令18
0を受け取ると、その時点でのビットカウント値D50
をコントローラ50に通知する。ビットカウント値D5
0は、パケットを生成しおえたときの累積的なビットカ
ウント値である。ビットカウント値D50を、パケット
生成直前のカウント値と比較することにより、生成した
パケットのビット量が計算される。
【0053】シフト量演算器220は、終了命令180
を受け取ると、シフト量をゼロクリアする。
【0054】データ保持器250は、終了命令180を
受け取ると、保持しているデータを記憶器30へと出力
する。
【0055】このようにして、1パケット分のデータが
記憶器30へと出力される。
【0056】図4は、コントローラ50によるパケット
化の処理手順を示す。
【0057】ステップ410において、コントローラ5
0は、ビットカウンタ52からビットカウント値を読み
出す。このビットカウント値は、パケットを生成する直
前でのビットカウント値である。コントローラ50は、
このビットカウント値に基づいて記憶器30内の対応す
るロケーションを計算する。ロケーションは、好ましく
は、記憶器30のアドレスである。しかし、一般的に、
ロケーションは記憶器30のアドレスとビット位置との
組み合わせである。
【0058】以下では、説明を簡単にするために、ロケ
ーションは記憶器30のアドレスであるとする。
【0059】ビットカウント値と記憶器30のアドレス
とは所定の一対一関係がある。たとえば、ビットカウン
ト値「0」はアドレス「0」に対応する。またたとえ
ば、記憶器30のバス幅をN(Nは自然数)とすると
き、ビットカウント値「XN」(Xは自然数)はアドレ
ス「X」に対応する。
【0060】ステップ415において、上記のビットカ
ウント値を第1のビットカウント値として作業用メモリ
54に記憶し、上記のアドレスを第1のアドレスとして
作業用メモリ54に記憶する。
【0061】ステップ420において、コントローラ5
0は固定長符号発生器70に固定長符号化命令(FLC
命令)170を発行する。FLC命令170は、図5に
示すように、オペランドとして固定長符号化コードおよ
びそのコード長を含む。 FLC命令170を受け取っ
た固定長符号発生器70は、FLC命令170にしたが
って固定長符号化コードD32を生成し、固定長符号化
コードD32およびそのコード長D34をビットパッキ
ング器80に出力する。
【0062】FLC命令170は、典型的には、PES
パケット900のPESヘッダ部920と、ペイロード
データ部930のサイド情報のうちの固定長データを生
成するために発行される。典型的には、PESパケット
のフォーマットにしたがって、PESヘッダ部920の
先頭フィールドから順々にデータを設定していく。
【0063】ただし、PESヘッダ部920のデータの
うち、この時点で決定できないデータがある。たとえ
ば、可変長符号化に依存するデータがそうである。この
時点ではまだ可変長符号化がおこなわれていないため、
可変長符号化に依存するデータは不定である。可変長符
号化に依存するデータには、たとえば、パケット長92
3がある。このようなデータは、現時点では任意の値
(たとえば0)をダミー値として設定しておき、可変長
符号化をおこなって値が確定したあとで正しい値を改め
て設定すればよい。
【0064】ステップ425において、コントローラ5
0は可変長符号発生器75に可変長符号化命令(VLC
命令)175を発行する。VLC命令は、図5に示すよ
うに、オペランドとしてアドレスを含む。VLC命令を
受け取った可変長符号発生器75は、そのVLC命令に
したがって可変長符号化コードD36を生成し、可変長
符号化コードD36およびそのコード長D38をビット
パッキング器80に出力する。
【0065】本実施例において、VLC命令は、パケッ
ト900のペイロードデータ部930の残り部分を生成
するために発行される。
【0066】ステップ430において、コントローラ5
0はビットパッキング器80に終了命令180を発行す
る。終了命令180を受け取ったビットパッキング器8
0は、上述のような処理をおこない、保持しているデー
タを記憶器30へと出力する。
【0067】ステップ435において、コントローラ5
0は再びビットカウンタ52からビットカウント値を読
み出す。さらに、パケットの先頭アドレス(ステップ4
15における第1のアドレス)に基づき、パケット長を
書き込むべきフィールドのアドレスを第2のアドレスと
して決定する。第2のアドレスは、第1のアドレスに当
該フィールドの相対アドレスを足すことによって知るこ
とができる。
【0068】ステップ440において、読み出したビッ
トカウント値を第2のビットカウント値として作業用メ
モリ54に記憶し、上記第2のアドレスを作業用メモリ
54に記憶する。
【0069】ビットカウンタ52は、記憶器30に書き
込まれたデータ量の累積値をビットカウント値として保
持している。すなわち、第2のビットカウント値は、1
つのパケットを生成し終えたときの累積ビット発生量を
表している。
【0070】したがって、第2のビットカウント値か
ら、パケットを生成する直前のステップ415の第1の
ビットカウント値を引くと、今回生成したパケットのパ
ケット長が算出されることになる。
【0071】ステップ445において、第2のビットカ
ウント値と第1のビットカウント値とを比較することに
よって、上述したようにパケットのビット発生量を決定
する。
【0072】さらに、計算して得られたパケット長のデ
ータを、コントローラ50によるDMA命令190によ
って、記憶器30内に記憶されているパケットのヘッダ
情報のなかの対応するフィールド(第2のアドレス)に
書き込む。
【0073】このように、本発明の装置を用いれば、可
変長符号化に依存するデータ値をとりあえずダミー値に
設定し、所定の形式のパケットを生成し記憶器に記憶し
たあとで、記憶器に記憶されている上記ダミー値を本来
の値に書き換えることができるようになる。
【0074】これにより、出力データストリームをより
短時間で生成することができるようになる。また、符号
化とパケット化の回路を共通化することにより、装置全
体の回路量を減らすことができる。
【0075】(実施の形態2)図6は、本発明の画像エ
ンコーダ100aの構成を示す。
【0076】図6の画像エンコーダ100aは、図1に
おける終了命令180がバイトアライン命令185に置
き換わっている点と、ビットパッキング器80がビット
パッキング器80aに置き換わっている点とを除いて、
図1の画像エンコーダ100と同じである。図6におい
て、図1と同一の構成要素は同一の参照番号で示されて
いる。
【0077】画像エンコーダ100aにおいて、ビット
パッキング器80aは、パケット化するための最後のデ
ータを受け取ったあと、コントローラ50から終了命令
180を受け取るかわりに、バイトアライン命令185
を受け取る。
【0078】図7は、ビットパッキング器80aの構成
を示す。
【0079】ビットパッキング器80aは、図2のビッ
トパッキング器80のビット量カウンタ210、シフト
量演算器220、およびデータ保持器250にかえて、
ビット量カウンタ210a、シフト量演算器220a、
およびデータ保持器250aを備えている。
【0080】ビットパッキング器80aおよびその構成
要素は、バイトアライン命令を受けるまでは、ビットパ
ッキング器80と同様の動作をする。
【0081】ビットパッキング器80aのデータ保持器
250aは、バイトアライン命令185を受け取ると、
保持しているデータの後ろにある、バス幅N*8ビット
に満たない部分350(図3(b))に「0」を詰め、
それを記憶器30へと出力する。
【0082】シフト量演算器220aは、バイトアライ
ン命令185を受け取ると、シフト量をゼロクリアす
る。
【0083】ビット量カウンタ210aは、バイトアラ
イン命令185を受け取ると、その時点でのカウント値
に、データ保持器250aが追加した「0」のビット量
分をインクリメントし、それをカウント値D50として
コントローラ50に通知する。カウント値D50は、パ
ケットを生成しおえたときの累積的なビットカウント値
である。カウント値D50を、パケット生成直前のカウ
ント値と比較することにより、パケットのビット量が計
算される。
【0084】このように、パケット化の最後にバイトア
ライン操作をおこなうことにより、記憶器に記憶される
パケットのデータが、かならずバス幅単位で記憶される
ことになる。したがって、記憶器に記憶されているパケ
ットにおいて、タイムスタンプを書き換えるときなど
に、各パケットの先頭を探す処理が簡素化され、それに
よってパケット化の処理時間が短縮される。
【0085】
【発明の効果】本発明による画像エンコーダにおいて、
コントローラは、ビットカウンタからビットカウント値
を読み出すステップと、ビットカウント値を第1のビッ
トカウント値として作業用メモリに記憶するステップ
と、第1のビットカウント値に基づいて記憶器の第1の
ビットカウント値に対応するロケーションを第1のロケ
ーションとして決定するステップと、第1のロケーショ
ンを作業用メモリに記憶するステップと、固定長符号発
生器に固定長データストリームを生成させ、固定長デー
タストリームを記憶器に記憶させるステップと、可変長
符号発生器に可変長データストリームを生成させ、可変
長データストリームを記憶器に記憶させるステップと、
ビットカウンタからビットカウント値を再び読み出すス
テップと、読み出したビットカウント値を第2のビット
カウント値として作業用メモリに記憶するステップと、
第1および第2のビットカウント値に基づいて可変長デ
ータストリームのデータ量を決定するステップと、可変
長データストリームのデータ量を格納するための記憶器
のロケーションを第1のロケーションに基づいて第2の
ロケーションとして決定するステップと、第2のロケー
ションを作業用メモリに記憶するステップと、所定の可
変データを記憶器の第2のロケーションに記憶させるス
テップと、を実行する。
【0086】これにより、可変長符号化に依存するデー
タが不定の状態でも、そのデータをダミー値に設定して
パケットを生成して記憶器に記憶し、そのデータ値が確
定したあとで正しい値に設定しなおすことができる。ま
た、入力画像データの符号化とパケット化とを、共通の
回路を用いて実現することができる。
【0087】このように、本発明によれば、パケット化
を短時間で達成する画像エンコーダを提供することがで
きる。さらに、回路量の少ない画像エンコーダを提供す
ることができる。
【図面の簡単な説明】
【図1】本発明の画像エンコーダ100の構成を示す図
である。
【図2】本発明の画像エンコーダ100のビットパッキ
ング器80の構成を示す図である。
【図3】(a)および(b)は、シフト動作およびシフ
ト量の概念を示す図である。
【図4】コントローラ50によるパケット化の処理手順
を示す図である。
【図5】コントローラ50の命令のオペコードおよびオ
ペランドを示す表である。
【図6】本発明の画像エンコーダ100aの構成を示す
図である。
【図7】本発明の画像エンコーダ100aのビットパッ
キング器80aの構成を示す図である。
【図8】従来の画像エンコーダ800の構成を示す図で
ある。
【図9】パケットD80の一例のデータ構成を示す図で
ある。
【符号の説明】
10 圧縮部 20 符号化部 30 記憶器 50 コントローラ 70 固定長符号発生器 75 可変長符号発生器 80、80a ビットパッキング器 90 ダイレクトメモリアクセス回路 100、100a 画像エンコーダ 170 固定長符号化命令 175 可変長符号化命令 180 終了命令 185 バイトアライン命令 190 ダイレクトメモリアクセス命令 D10 画像データ D20 圧縮データ D32 固定長符号化コード D34 固定長符号化コード長 D36 可変長符号化コード D38 可変長符号化コード長 D40 出力データストリーム D50 ビットカウント値

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 固定長符号発生器と、可変長符号発生器
    と、ビットパッキング器と、記憶器と、コントローラと
    を備えた、入力画像データを圧縮し出力データストリー
    ムを生成する画像エンコーダであって、 該コントローラは、ビットカウンタと作業用メモリとを
    有し、該固定長符号発生器、該可変長符号発生器、該ビ
    ットパッキング器、および該記憶器を制御し、該コント
    ローラは、 該ビットカウンタからビットカウント値を読み出すステ
    ップと、 該ビットカウント値に基づいて該記憶器の該ビットカウ
    ント値に対応するロケーションを第1のロケーションと
    して決定するステップと、 該ビットカウント値を第1のビットカウント値として該
    作業用メモリに記憶するステップと、 該第1のロケーションを該作業用メモリに記憶するステ
    ップと、 該固定長符号発生器に固定長データストリームを生成さ
    せ、該固定長データストリームを該記憶器に記憶させる
    ステップと、 該可変長符号発生器に可変長データストリームを生成さ
    せ、該可変長データストリームを該記憶器に記憶させる
    ステップと、 該ビットカウンタからビットカウント値を再び読み出す
    ステップと、 該可変長データストリームのデータ量を格納するための
    該記憶器のロケーションを第2のロケーションとして決
    定するステップと、 該読み出したビットカウント値を第2のビットカウント
    値として該作業用メモリに記憶するステップと、 該第2のロケーションを該作業用メモリに記憶するステ
    ップと、 該第1および第2のビットカウント値に基づいて該可変
    長データストリームのデータ量を決定するステップと、 該該可変長データストリームの該データ量を該記憶器の
    該第2のロケーションに記憶させるステップと、 を実行する、画像エンコーダ。
  2. 【請求項2】 前記コントローラが、前記可変長データ
    ストリームを前記記憶器のバス幅に応じてバイトアライ
    ン処理をするステップをさらに実行する、請求項1に記
    載の画像エンコーダ。
JP20686697A 1997-07-31 1997-07-31 画像エンコーダ Pending JPH1155661A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20686697A JPH1155661A (ja) 1997-07-31 1997-07-31 画像エンコーダ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20686697A JPH1155661A (ja) 1997-07-31 1997-07-31 画像エンコーダ

Publications (1)

Publication Number Publication Date
JPH1155661A true JPH1155661A (ja) 1999-02-26

Family

ID=16530344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20686697A Pending JPH1155661A (ja) 1997-07-31 1997-07-31 画像エンコーダ

Country Status (1)

Country Link
JP (1) JPH1155661A (ja)

Similar Documents

Publication Publication Date Title
US5675331A (en) Decoding device for decoding a variety of code signals
US5751860A (en) Method for compressing and decompressing digital image data
KR0182026B1 (ko) 엠펙 비디오 디코더용 구문 분석기
JPH09503105A (ja) リアルタイム音声パケットレイヤエンコーダ
JP2001103473A (ja) 画像パケット構造、ページ画像データ構造並びにパケット生成装置及び方法
JP4406481B2 (ja) グラフィックデータ圧縮
JPH0879719A (ja) データ・ファイルの圧縮および伸張方法
JPH10210399A (ja) ブロック走査及びラスター走査のためのメモリアドレス算出装置並びにその方法
JP2004032494A (ja) 画像処理装置及び画像処理方法
JPH1155661A (ja) 画像エンコーダ
JPH088647B2 (ja) ランレングス符号化法および装置
JP3179588B2 (ja) データ符号化装置及び方法
JP4136151B2 (ja) 符号化装置、方法及びコンピュータ読み取り可能な記憶媒体
EP0928112A1 (en) Image mapping device and method, and image generating device and method
JPH09247466A (ja) 符号化装置
JPH10341437A (ja) 画像処理方法及び装置
KR100240005B1 (ko) 동영상 신호의 압축을 위한 프레임 메모리 제어방법 및 장치
KR200141123Y1 (ko) 엠펙ii 비디오 디코더의 기준클럭발생장치
JP3138693B2 (ja) データ圧縮回路
KR100246640B1 (ko) 디지털 브이씨알의 포맷팅 장치
KR960012495B1 (ko) 고화질 티브이의 매크로블럭 어드레스 저장 장치
JPH0981720A (ja) イメージ処理装置
KR100513061B1 (ko) 카메라 영상 압축 방법
JP2001028749A (ja) 画像圧縮・伸張・表示装置
KR970003807B1 (ko) 고속 재생을 위한 비트 스트림 엔코딩 회로

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061130