(57)【要約】送信側において、直交変換の係数を複数のビットプレーンに展開するか、またはブロック内の係数位置を指定することで、エンハンスメントレイヤを階層化する。そして、係数位置情報により指定された位置の係数のみを符号化して、ストリーミング配信を行う。受信側では、係数位置情報を用いて係数ブロックを復元する。
2003079692.tif 000002
【特許請求の範囲】
【請求項１】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する階層符号化装置であって、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化するビットプレーン生成部と、
前記第２レイヤにおける１つの階層のビットプレーン内において、該階層の係数位置情報により指定される範囲の係数位置のビット値を符号化して、符号語を生成する符号化部と、
前記係数位置情報と符号語を送信する送信部と
を備えることを特徴とする階層符号化装置。
【請求項２】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する階層符号化装置であって、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化するビットプレーン生成部と、
前記第２レイヤにおける１つの階層の各ブロックのビットプレーン内において、該階層の係数位置情報により指定される係数位置のビット値を検出し、複数のブロックから検出されたビット値に対してランレングス符号化を行って、符号語を生成する符号化部と、
前記係数位置情報と符号語を送信する送信部と
を備えることを特徴とする階層符号化装置。
【請求項３】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する階層符号化装置であって、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおいて、１つの階層の各ブロック内から該階層の係数位置情報により指定される係数位置の値を抽出して量子化する量子化部と、
量子化された値を符号化して符号語を生成する符号化部と、
前記係数位置情報と符号語を送信する送信部と
を備えることを特徴とする階層符号化装置。
【請求項４】
前記符号化部は、複数のブロックの量子化された値に対してランレングス符号化を行って、前記符号語を生成することを特徴とする請求項３記載の階層符号化装置。
【請求項５】
前記量子化部は、前記第２レイヤの複数の階層において同じ係数位置が指定されたとき、優先度の高い階層において大きな量子化サイズを用いた量子化を行い、優先度が低い階層において小さな量子化サイズを用いた量子化を行うことを特徴とする請求項３記載の階層符号化装置。
【請求項６】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する復号装置であって、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信する受信部と、
前記符号語を復号する復号部と、
前記第２レイヤにおける前記階層のビットプレーン内において、復号結果を用いて前記係数位置情報により指定される範囲のビット値を生成し、該指定される範囲以外のビット値をゼロとすることで、該階層のビットプレーンを生成するビットプレーン生成部と、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する復元部と
を備えることを特徴とする復号装置。
【請求項７】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する復号装置であって、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信する受信部と、
前記符号語のランレングス復号を行って、前記第２レイヤにおける前記階層の複数のブロックの復号結果を生成する復号部と、
前記第２レイヤにおける前記階層の各ブロックのビットプレーン内において、前記復号結果を用いて前記係数位置情報により指定される係数位置のビット値を生成し、該指定される係数位置以外のビット値をゼロとすることで、該階層の各ブロックのビットプレーンを生成するビットプレーン生成部と、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する復元部と
を備えることを特徴とする復号装置。
【請求項８】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する復号装置であって、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信する受信部と、
前記符号語を復号して逆量子化する復号部と、
前記第２レイヤにおける前記階層の各ブロック内において、逆量子化の結果を用いて前記係数位置情報により指定される係数位置の値を生成し、該指定される係数位置以外の値をゼロとすることで、該階層の各ブロックを生成するブロック生成部と、
前記第２レイヤにおける各階層のブロックを順次加算して、係数のブロックを復元する復元部と
を備えることを特徴とする復号装置。
【請求項９】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムであって、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化し、
前記第２レイヤにおける１つの階層のビットプレーン内において、該階層の係数位置情報により指定される範囲の係数位置のビット値を符号化して、符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする階層符号化プログラム。
【請求項１０】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムであって、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化し、
前記第２レイヤにおける１つの階層の各ブロックのビットプレーン内において、該階層の係数位置情報により指定される係数位置のビット値を検出し、
複数のブロックから検出されたビット値に対してランレングス符号化を行って、符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする階層符号化プログラム。
【請求項１１】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムであって、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおいて、１つの階層の各ブロック内から該階層の係数位置情報により指定される係数位置の値を抽出して量子化し、
量子化された値を符号化して符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする階層符号化プログラム。
【請求項１２】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムであって、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語を復号し、
前記第２レイヤにおける前記階層のビットプレーン内において、復号結果を用いて前記係数位置情報により指定される範囲のビット値を生成し、該指定される範囲以外のビット値をゼロとすることで、該階層のビットプレーンを生成し、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする復号プログラム。
【請求項１３】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムであって、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語のランレングス復号を行って、前記第２レイヤにおける前記階層の複数のブロックの復号結果を生成し、
前記第２レイヤにおける前記階層の各ブロックのビットプレーン内において、前記復号結果を用いて前記係数位置情報により指定される係数位置のビット値を生成し、該指定される係数位置以外のビット値をゼロとすることで、該階層の各ブロックのビットプレーンを生成し、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする復号プログラム。
【請求項１４】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムであって、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語を復号して逆量子化し、
前記第２レイヤにおける前記階層の各ブロック内において、逆量子化の結果を用いて前記係数位置情報により指定される係数位置の値を生成し、該指定される係数位置以外の値をゼロとすることで、該階層の各ブロックを生成し、
前記第２レイヤにおける各階層のブロックを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする復号プログラム。
【請求項１５】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムを記録した記録媒体であって、該階層符号化プログラムは、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化し、
前記第２レイヤにおける１つの階層のビットプレーン内において、該階層の係数位置情報により指定される範囲の係数位置のビット値を符号化して、符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする記録媒体。
【請求項１６】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムを記録した記録媒体であって、該階層符号化プログラムは、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化し、
前記第２レイヤにおける１つの階層の各ブロックのビットプレーン内において、該階層の係数位置情報により指定される係数位置のビット値を検出し、
複数のブロックから検出されたビット値に対してランレングス符号化を行って、符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする記録媒体。
【請求項１７】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムを記録した記録媒体であって、該階層符号化プログラムは、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおいて、１つの階層の各ブロック内から該階層の係数位置情報により指定される係数位置の値を抽出して量子化し、
量子化された値を符号化して符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする記録媒体。
【請求項１８】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムを記録した記録媒体であって、該復号プログラムは、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語を復号し、
前記第２レイヤにおける前記階層のビットプレーン内において、復号結果を用いて前記係数位置情報により指定される範囲のビット値を生成し、該指定される範囲以外のビット値をゼロとすることで、該階層のビットプレーンを生成し、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする記録媒体。
【請求項１９】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムを記録した記録媒体であって、該復号プログラムは、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語のランレングス復号を行って、前記第２レイヤにおける前記階層の複数のブロックの復号結果を生成し、
前記第２レイヤにおける前記階層の各ブロックのビットプレーン内において、前記復号結果を用いて前記係数位置情報により指定される係数位置のビット値を生成し、該指定される係数位置以外のビット値をゼロとすることで、該階層の各ブロックのビットプレーンを生成し、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする記録媒体。
【請求項２０】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムを記録した記録媒体であって、該復号プログラムは、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語を復号して逆量子化し、
前記第２レイヤにおける前記階層の各ブロック内において、逆量子化の結果を用いて前記係数位置情報により指定される係数位置の値を生成し、該指定される係数位置以外の値をゼロとすることで、該階層の各ブロックを生成し、
前記第２レイヤにおける各階層のブロックを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする記録媒体。
【請求項２１】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムを、該情報処理装置に搬送する搬送信号であって、該階層符号化プログラムは、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化し、
前記第２レイヤにおける１つの階層のビットプレーン内において、該階層の係数位置情報により指定される範囲の係数位置のビット値を符号化して、符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする搬送信号。
【請求項２２】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムを、該情報処理装置に搬送する搬送信号であって、該階層符号化プログラムは、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化し、
前記第２レイヤにおける１つの階層の各ブロックのビットプレーン内において、該階層の係数位置情報により指定される係数位置のビット値を検出し、
複数のブロックから検出されたビット値に対してランレングス符号化を行って、符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする搬送信号。
【請求項２３】
第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する情報処理装置のための階層符号化プログラムを、該情報処理装置に搬送する搬送信号であって、該階層符号化プログラムは、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおいて、１つの階層の各ブロック内から該階層の係数位置情報により指定される係数位置の値を抽出して量子化し、
量子化された値を符号化して符号語を生成し、
前記係数位置情報と符号語を送信する
処理を前記情報処理装置に実行させることを特徴とする搬送信号。
【請求項２４】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムを、該情報処理装置に搬送する搬送信号であって、該復号プログラムは、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語を復号し、
前記第２レイヤにおける前記階層のビットプレーン内において、復号結果を用いて前記係数位置情報により指定される範囲のビット値を生成し、該指定される範囲以外のビット値をゼロとすることで、該階層のビットプレーンを生成し、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする搬送信号。
【請求項２５】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムを、該情報処理装置に搬送する搬送信号であって、該復号プログラムは、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語のランレングス復号を行って、前記第２レイヤにおける前記階層の複数のブロックの復号結果を生成し、
前記第２レイヤにおける前記階層の各ブロックのビットプレーン内において、前記復号結果を用いて前記係数位置情報により指定される係数位置のビット値を生成し、該指定される係数位置以外のビット値をゼロとすることで、該階層の各ブロックのビットプレーンを生成し、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする搬送信号。
【請求項２６】
第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する情報処理装置のための復号プログラムを、該情報処理装置に搬送する搬送信号であって、該復号プログラムは、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信し、
前記符号語を復号して逆量子化し、
前記第２レイヤにおける前記階層の各ブロック内において、逆量子化の結果を用いて前記係数位置情報により指定される係数位置の値を生成し、該指定される係数位置以外の値をゼロとすることで、該階層の各ブロックを生成し、
前記第２レイヤにおける各階層のブロックを順次加算して、係数のブロックを復元する
処理を前記情報処理装置に実行させることを特徴とする搬送信号。
【発明の詳細な説明】
技術分野
本発明は、データの圧縮符号化および復号に係り、特に、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークのように、刻々と変化する帯域幅に合わせたデータのストリーミング配信において、階層符号化データを生成する装置および階層符号化データを復号する装置に関する。
背景技術
図１は、動画像のストリーミング配信において従来から用いられてきた階層符号化装置の構成を示しており、図２は、復号装置の構成を示している。符号化装置は、動画像の配信装置に設けられ、復号装置は、動画像の受信装置に設けられる。
まず、符号化（エンコーダ）側では、ベースレイヤ符号化部１０２が、原画像１１１を符号化し、ベースレイヤのビットストリーム１２１を生成する。このとき、同時に符号化データが復号されて復号画像１１３が出力される。エンハンスメントレイヤ符号化部１０１は、復号画像と原画像１１２の差分を符号化し、エンハンスメントレイヤのビットストリーム１２２を生成する。原画像１１１と原画像１１２は、実質的に同じ内容を表しているが、まったく同一である場合と異なる場合とがある。
次に、復号（デコーダ）側では、ベースレイヤ復号部２０２が、ベースレイヤのビットストリーム１２１を復号し、復号画像２１２を生成する。エンハンスメントレイヤ復号部２０１は、エンハンスメントレイヤのビットストリーム１２２を復号する。最終的なエンハンスメントレイヤの復号画像２１２は、エンハンスメントレイヤのみで得られた復号画像に、ベースレイヤの復号結果を加算することで得られる。
代表的な例として、ＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）１４４９６−２：１９９９／ＦＤＡＭ４（Ｆｉｎａｌ  Ｄｒａｆｔ  Ａｍｅｎｄｍｅｎｔ  ４）を挙げる。これは、ＭＰＥＧ−４（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ｐｈａｓｅ  ４）Ｖｉｓｕａｌ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｆｉｌｅの標準規格文書（正確にはＭＰＥＧ−４  Ｖｉｓｕａｌの規格文書の差分ドラフト）記載の符号化および復号方式である。
この規格では、ベースレイヤの符号化画像から生成される復号画像１１３と原画像１１２の差分に対して、離散コサイン変換（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ，ＤＣＴ）が行われ、変換結果の各係数を用いてＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）からＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）までの複数のビットプレーンが生成される。そして、各ビットプレーンが、エンハンスメントレイヤにおける各階層のデータとして用いられる。ネットワーク伝送時には、帯域に合わせてＭＳＢ側から順次伝送することで、データ量を調整することができる。
図３は、このようなエンハンスメントレイヤの符号化処理のフローチャートである。符号化装置は、まず、原画像１１２とベースレイヤ符号化部１０２からの復号画像１１３の間で、画素毎の差分値Ｕを求めて保持しておく（３０１）。そして、階層化データを得るために、Ｕをブロックに分割し、ブロック毎にＤＣＴを行うことで、係数をビットプレーンとして階層化するための準備を行う（３０２）。
次に、フレームのヘッダ情報として、フレーム同期ビットとその階層でのビットシフト可否を示すビットｋを伝送する（３０３）。ｋが１のときビットシフト可を表し、ｋが０のときビットシフト不可を表す。続いて、階層同期ビットと階層識別子（階層番号）を伝送し、その階層のビットプレーンをシフトする（３０４）。
次に、そのシフト済みのビットプレーンを用いて、ブロック内でランレングス符号を検出し、ブロックの有効／無効を判定する（３０５）。ランレングス符号は、ゼロラン長ＲＵＮとブロック内で最後に立った１ビットか否かを示すＥＯＰ（Ｅｎｄ  ｏｆ  Ｐｌａｎｅ）の組み合わせで表される。ブロック内の最後の非ゼロビットに対応する場合は、ＥＯＰが１となる。
次に、３０５の判定結果に基いて、マクロブロック有効／無効を示すビットとブロック有効／無効を示すビットを伝送する（３０６）。これらのビットは、１のとき有効を表し、０のとき無効を表す。ブロック有効／無効を示すビットとｋが１の場合は、ビットプレーンのシフト量を表すビットｚが伝送される。
次に、処理対象のブロックと同じ位置に対応する処理済みの全階層が無効であれば、無効を示すビット（フラグ）を伝送する（３０７）。そして、３０５で検出されたランレングス符号の可変長符号化を行い、符号語ビットを伝送する（３０８）。このとき、プラス／マイナスのサインを示すサインビットも合わせて符号化される。
３０７および３０８の処理はブロック毎に繰り返され、３０６〜３０８の処理はマクロブロック毎に繰り返され、３０４〜３０８の処理はＭＳＢ側から順に階層毎に繰り返され、３０１〜３０８の処理はフレーム毎に繰り返される。
また、３０６においてブロックが無効の場合は、３０７および３０８の処理がスキップされ、３０７において処理済みの全階層が無効であり、かつ、処理対象のブロックも無効であれば、３０８の処理がスキップされる。こうして、図４に示すようなビットストリームが生成され、受信装置に伝送される。
図５は、以下の文献からの抜粋を含むＤＣＴ係数のビットプレーン化の例を示している。
“Ｏｖｅｒｖｉｅｗ  ｏｆ  Ｆｉｎｅ  Ｇｒａｎｕｌａｒｉｔｙ  Ｓｃａｌａｂｉｌｉｔｙ  ｉｎ  ＭＰＥＧ−４  Ｖｉｄｅｏ  Ｓｔａｎｄａｒｄ”ＩＥＥＥ  Ｔｒａｎｓ．Ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  Ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ，Ｖｏｌ．１１  Ｎｏ．３，Ｍａｒｃｈ  ２００１，ｐｐ．３０１−３１７
符号化装置は、まず、係数のジグザグスキャン等を行って係数を１次元に展開する。このとき、各係数の絶対値５０１を２進数にして、サインビット５０２を付加する。この場合、絶対値５０１は、４ビットで表すことができるので、４階層のビットプレーン５０３に展開され、ビットプレーン毎に可変長符号語（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ，ＶＬＣ）５０４が生成される。
ここでは、（ＲＵＮ，ＥＯＰ）を符号化した２次元ＶＬＣが用いられ、サインビットは、ＶＬＣを求める際に、その係数のＭＳＢに１ビット符号として添付される。復号装置は、符号化と逆の操作を行い、各階層のビットプレーンのビットを順次加算することで、ＤＣＴ係数を得る。
図６から図８までは、あるブロックの符号化の例を示している。図３の３０２において、図６のようなブロックの係数が得られた場合、図７のような４階層のビットプレーンに展開される。ここで、図８に示すように、ＭＳＢのビットプレーンのジグザグスキャンを行うと、（ＲＵＮ，ＥＯＰ）として、（０，０）、（５４，０）、および（５，１）の３つが検出される。このとき、同時にサインビットも検出される。他の階層のビットプレーンについても同様の処理が行われ、それぞれの（ＲＵＮ，ＥＯＰ）に対応する符号語が伝送される。
一方、復号側では、受信した符号語を復号して（ＲＵＮ，ＥＯＰ）が求められ、それらのデータとジグザグスキャンから図７のビットプレーンが生成される。ここで、ＭＳＢのビットプレーンは、ＬＳＢから数えて４ビット目に相当するので、４ビット左シフトした値がブロックデータとして保持される。同様に、ＭＳＢ−１、ＭＳＢ−２のビットプレーンは、それぞれ３ビット、２ビット左シフトして保持される。このようなビットシフトの結果、図９のような４階層のビットプレーンが生成され、これらのビットプレーンを加算することで、図６の係数が復元される。ここでは、１ブロックの処理について説明したが、実際には、同様の処理が１フレーム内の全ブロックについて行われる。
このような階層符号化において、ＬＳＢ側のビットプレーンは、エンハンスメントレイヤにおけるより詳細な情報であり、ＭＳＢ側のビットプレーンと比較して優先度が低いといえる。そこで、ビットストリームの伝送時にビットレートを下げたい場合は、ＬＳＢに近い側のビットプレーンから順に伝送を取りやめることができる。
この方式は、ＭＳＢとそれ以外の階層とで符号語が異なる等の工夫を行っているが、演算過程では階層間の相関を利用していない符号化方式である。それにも係わらず、ＭＳＢ側が先に抜けるとサインビットが検出できなくなるという欠点がある。
このような従来の符号化方式の問題は、ビットプレーンの数と係数の数（ラン長を含む）に応じて可変長符号化によるビットが発生してしまうので、ベースレイヤの符号化に比べて極端に符号化効率が悪くなるという点にある。また、階層間での相関を利用していないので、さらに符号化効率は悪くなる。
発明の開示
本発明の課題は、動画像等のストリーミング配信において、符号化効率を向上させる階層符号化装置および復号装置を提供することである。
従来の符号化方式における符号化効率の劣化の原因として、符号化で発生するシンボル（ＲＵＮ，ＥＯＰ）がとりうるパターンがブロック内の全係数領域にわたることが考えられる。このため、多数の可変長符号語を用意しなければならず、使用される符号語の平均長が長くなる。
そこで、本発明では、係数位置情報を用いて符号化すべき係数の位置を制限することで、使用される可変長符号語の種類を減らすことにする。これにより、可変長符号語全体のビット数も減少し、符号化効率を向上させることが可能となる。
本発明の第１、第２、および第３の階層符号化装置は、第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、第１レイヤの復号データと所定のデータの差分データを求め、差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、係数を符号化して送信する。
第１レイヤおよび第２レイヤは、例えば、ベースレイヤおよびエンハンスメントレイヤに対応し、第１レイヤの復号データと所定のデータは、例えば、図１の復号画像１１３と原画像１１２に対応する。
第１の階層符号化装置は、ビットプレーン生成部、符号化部、および送信部を備える。ビットプレーン生成部は、係数を複数のビットプレーンに展開することで、第２レイヤを階層化する。符号化部は、第２レイヤにおける１つの階層のビットプレーン内において、その階層の係数位置情報により指定される範囲の係数位置のビット値を符号化して、符号語を生成する。そして、送信部は、係数位置情報と符号語を送信する。
ビットプレーン生成部は、例えば、後述する図１８のビットプレーン生成部１８０１に対応し、符号化部は、例えば、図１８のランレングス検出部１８０２、ランレングス符号化部１８０３、および符号語生成部１８０５に対応し、送信部は、例えば、図１８の符号語生成部１８０５に対応する。
第２の階層符号化装置は、ビットプレーン生成部、符号化部、および送信部を備える。ビットプレーン生成部は、係数を複数のビットプレーンに展開することで、第２レイヤを階層化する。符号化部は、第２レイヤにおける１つの階層の各ブロックのビットプレーン内において、その階層の係数位置情報により指定される係数位置のビット値を検出し、複数のブロックから検出されたビット値に対してランレングス符号化を行って、符号語を生成する。そして、送信部は、係数位置情報と符号語を送信する。
ビットプレーン生成部は、例えば、後述する図２５のビットプレーン生成部２５０１に対応し、符号化部は、例えば、図２５のランレングス検出部２５０３、ランレングス符号化部２５０４、および符号語生成部２５０６に対応し、送信部は、例えば、図２５の符号語生成部２５０６に対応する。
第３の階層符号化装置は、量子化部、符号化部、および送信部を備える。量子化部は、ブロック内における係数位置を指定することで階層化された第２レイヤにおいて、１つの階層の各ブロック内からその階層の係数位置情報により指定される係数位置の値を抽出して量子化する。符号化部は、量子化された値を符号化して符号語を生成する。そして、送信部は、係数位置情報と符号語を送信する。
量子化部は、例えば、後述する図３２の量子化部３２０２に対応し、符号化部および送信部は、例えば、図３２の符号語生成部３２０５に対応する。
本発明の第１、第２、および第３の復号装置は、第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を第１レイヤにおける復号結果に加算する。
第１レイヤおよび第２レイヤにおいて受信されるデータは、例えば、図２のビットストリーム１２１および１２２に対応し、第２レイヤにおいて変換結果と第１レイヤの復号結果を加算して得られるデータは、例えば、図２の復号画像２１２に対応する。
第１の復号装置は、受信部、復号部、ビットプレーン生成部、および復元部を備える。受信部は、係数を複数のビットプレーンに展開することで階層化された第２レイヤにおける１つの階層の係数位置情報と符号語を受信する。復号部は、符号語を復号する。ビットプレーン生成部は、第２レイヤにおける上記階層のビットプレーン内において、復号結果を用いて係数位置情報により指定される範囲のビット値を生成し、指定される範囲以外のビット値をゼロとすることで、その階層のビットプレーンを生成する。そして、復元部は、第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する。
受信部および復号部は、例えば、後述する図１９の符号語復号部１９０１に対応し、ビットプレーン生成部は、例えば、図１９のビットプレーン生成部１９０２に対応し、復元部は、例えば、図１９のメモリ１９０４に対応する。
第２の復号装置は、受信部、復号部、ビットプレーン生成部、および復元部を備える。受信部は、係数を複数のビットプレーンに展開することで階層化された第２レイヤにおける１つの階層の係数位置情報と符号語を受信する。復号部は、符号語のランレングス復号を行って、第２レイヤにおける上記階層の複数のブロックの復号結果を生成する。ビットプレーン生成部は、第２レイヤにおける上記階層の各ブロックのビットプレーン内において、復号結果を用いて係数位置情報により指定される係数位置のビット値を生成し、指定される係数位置以外のビット値をゼロとすることで、その階層の各ブロックのビットプレーンを生成する。そして、復元部は、第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する。
受信部および復号部は、例えば、後述する図２６の符号語復号部２６０１に対応し、ビットプレーン生成部は、例えば、図２６のビットプレーン生成部２６０３に対応し、復元部は、例えば、図２６のメモリ２６０５に対応する。
第３の復号装置は、受信部、復号部、ブロック生成部、および復元部を備える。受信部は、ブロック内における係数位置を指定することで階層化された第２レイヤにおける１つの階層の係数位置情報と符号語を受信する。復号部は、符号語を復号して逆量子化する。ブロック生成部は、第２レイヤにおける上記階層の各ブロック内において、逆量子化の結果を用いて係数位置情報により指定される係数位置の値を生成し、指定される係数位置以外の値をゼロとすることで、その階層の各ブロックを生成する。そして、復元部は、第２レイヤにおける各階層のブロックを順次加算して、係数のブロックを復元する。
受信部および復号部は、例えば、後述する図３３の符号語復号部３３０１に対応し、ブロック生成部は、例えば、図３３のブロック生成部３３０２に対応し、復元部は、例えば、図３３のメモリ３３０３に対応する。
発明を実施するための最良の形態
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態では、ベースレイヤ（１層）とエンハンスメントレイヤ（複数層）の複数の階層からなる階層符号化方式を採用する。エンハンスメントレイヤでは、ベースレイヤの原画像と所定の原画像との差分データを求め、得られた差分データを複数の領域に分割してブロック化し、領域ごとにＤＣＴ等の直交変換を行って、変換係数を求める。
得られた係数の階層符号化／復号方法としては、以下の３つのアルゴリズムを採用する。
（１）第１の符号化／復号方法
符号化側では、係数をビットプレーン毎に分けることで階層化し、あらかじめエンハンスメントレイヤのある階層の係数ビットプレーン内における係数の範囲を指定する情報（ビット列）を、所定の符号化単位でビットストリームに付加する。
復号側では、そのビット列に基づいて、指定された範囲以外の係数ビットをすべてゼロとし、指定された範囲の情報に基づいて係数ビットを復号する。そして、各階層の復号結果を順次加算してＤＣＴ等の逆変換を行い、ベースレイヤの出力再生画像に対して加算すべきエンハンスメントレイヤの出力再生画像（差分値）を求める。
（２）第２の符号化／復号方法
符号化側では、係数をビットプレーン毎に分けることで階層化し、あらかじめエンハンスメントレイヤのある階層の係数ビットプレーン内における係数の位置を指定する情報（ビット列）を、所定の符号化単位でビットストリームに付加する。そして、１フレームの中で１が発生するブロックと０が発生するブロックの２値に分けて、ランレングス符号化を行う。
復号側では、ランレングス復号を行い、該当する階層のブロックの指定された位置の係数ビットを１にして、それ以外の係数ビットをすべて０にする。そして、各階層の復号結果を順次加算して逆変換を行い、エンハンスメントレイヤの出力再生画像を求める。
（３）第３の符号化／復号方法
符号化側では、係数を周波数の位置毎に分けて階層化し、あらかじめエンハンスメントレイヤのある階層の係数の位置を指定する情報（ビット列）と、その階層における量子化情報とを、所定の符号化単位でビットストリームに付加する。
復号側では、そのビット列を検出して、指定された位置以外の係数をすべてゼロとし、１フレームの中で各ブロックの指定された位置の係数を復号し、各階層の復号結果を順次加算して逆変換を行い、エンハンスメントレイヤの出力再生画像を求める。
次に、図１０から図１９までを参照しながら、第１の符号化／復号方法について詳細に説明する。
図１０は、第１の符号化処理のフローチャートである。図１０において１００１〜１００３および１００７の処理は、図３の３０１〜３０３および３０７の処理と同様である。
１００４では、符号化装置は、階層同期ビットと階層識別子（階層番号）を伝送し、その階層のビットプレーンをシフトするとともに、フレームのヘッダ情報として、その階層でとりうる係数位置の情報を伝送する。この係数位置情報は、ビットプレーン内の１つ以上の係数位置を指定する情報であり、係数の範囲を指定することも可能である。
次に、シフト済みのビットプレーンを用いて、係数位置情報により指定された位置の範囲内でブロック内のランレングス符号を検出し、マクロブロックおよびブロックの有効／無効を判定する（１００５）。そして、マクロブロック有効／無効ビット、ブロック有効／無効ビット、およびビットプレーンのシフト量を表すビットｚを伝送する（１００６）。このビットｚは、ブロックあるいはフレームのヘッダ情報に付加される。
１００８では、図３の３０８と同様に可変長符号語を伝送するが、ラン長が限定されているので、符号語の平均長さは従来より短くなる。
１００７および１００８の処理はブロック毎に繰り返され、１００５〜１００８の処理はマクロブロック毎に繰り返され、１００４〜１００８の処理はＭＳＢ側から順に階層毎に繰り返され、１００１〜１００８の処理はフレーム毎に繰り返される。
また、１００６においてブロックが無効の場合は、１００７および１００８の処理がスキップされ、１００７において処理済みの全階層が無効であり、かつ、処理対象のブロックも無効であれば、１００８の処理がスキップされる。
こうして、例えば、図１１に示すようなビットストリームが生成され、受信装置に伝送される。図１１において、係数位置ａおよび係数位置ｂが係数位置情報に対応し、それぞれ指定された範囲の開始位置および終了位置を表す。
このような符号化処理によれば、各階層のビットプレーンにおいて係数位置の範囲を絞ることで、発生するランレングス符号のバリエーションを制限することができる。したがって、各ランレングス符号に対してより短い符号語ビットを割り当てることが可能になり、符号化効率が向上する。
図１２は、図１０の１００４〜１００８のより具体的な処理を示すフローチャートである。符号化装置は、まず、階層同期ビット（階層番号込み）を伝送する（１２０１）。ＭＰＥＧ−４における現状の階層符号化の枠に従った例を記載すると、例えば、０ｘ０１４０〜０ｘ０１５Ｆ（３２ｂｉｔ）の階層同期ビットがビットストリームに付加される。３２ビットのうち下位の５ビットは、階層の優先順位を表している。
次に、その階層における係数位置情報をフレームのヘッダ情報の一部として伝送する（１２０２）。図１３に示すようなジグザグスキャンの順序を表す番号（０−６３）を用いた場合、例えば、指定する係数位置の範囲の開始位置番号（６ｂｉｔ）と終了位置番号（６ｂｉｔ）が係数位置情報としてビットストリームに付加される。開始位置番号および終了位置番号は、図１１の係数位置ａおよび係数位置ｂに対応する。
図１３では、一例として、８×８画素のブロックを直交変換して６４個の係数を得た場合のブロック内の係数位置が示されており、左上が低周波数成分に対応し、右下が高周波数成分に対応する。この例では、ブロック内の連続領域が係数位置の範囲として指定されているが、複数の離散的な領域を範囲として指定してもよい。
次に、その階層のビットプレーンにおいて、係数位置情報により指定された範囲のみを対象として、２次元のランレングス符号化を行う（１２０３）。開始位置番号と終了位置番号が指定されている場合は、それらの間の領域のみがランレングス符号に変換される。この場合、ランレングス符号化の対象範囲が狭められているので、従来より符号語が短くなり、符号化効率が向上する。
次に、マクロブロック有効／無効ビットを伝送する（１２０４）。また、その階層がシフト可であれば、ＭＰＥＧ−４の規格に従って、シフトするビット数を可変長符号化し伝送する。
次に、ブロック有効／無効を判定し、ブロック有効／無効ビットをブロックヘッダの一部として伝送する（１２０５）。１２０３においてすべてのビットがゼロの場合、そのブロックは無効となるので、無効を示す１ビットが伝送される。
次に、１２０３で得られたランレングス符号の可変長符号化を行い、符号語ビットを伝送する（１２０６）。符号語としては、例えば、公知のハフマン符号、ユニバーサル符号、算術符号等が用いられる。
１２０３〜１２０６の処理はマクロブロック毎に繰り返され、１２０１〜１２０６の処理は階層毎に繰り返される。また、１２０５においてブロックが無効の場合は、１２０６の処理がスキップされる。
この例では、１つのビットプレーンに対して１種類の係数位置情報を設定しているが、２種類以上の係数位置情報を設定することも可能である。この場合、同じビットプレーンに対する異なる係数位置情報から生成される符号語は、異なる階層の画像情報として伝送され、そのビットプレーンがさらに複数の階層に分割される。
図１４から図１６までは、図６に示したブロックの符号化の例を示している。図７に示したＭＳＢのビットプレーンにおいて、例えば、図１４に示す領域１４０１が伝送される係数の範囲として指定されたものとする。この場合、図１５に示すように、ＭＳＢのビットプレーンのジグザグスキャンが行われ、（ＲＵＮ，ＥＯＰ）として（０，１）が検出される。
また、ＭＳＢのビットプレーンにおいて、図１６に示す領域１６０１が係数の範囲として指定された場合は、（２，０）および（２，１）が検出される。図１４の領域１４０１から生成されるランレングス符号と、図１６の領域１６０１から生成されるランレングス符号を、異なる階層のデータとして扱うことも可能である。
ＭＳＢ−１等の他のビットプレーンについても同様の処理が行われ、さらに、１フレーム内の他のブロックについても同様の処理が行われる。
図１７は、ビットストリームを受信した復号装置による復号処理のフローチャートである。復号装置は、階層同期ビットに続いて係数位置情報を読み込み（１７０１）、マクロブロック有効／無効ビットを読み込み（１７０２）、ブロック有効／無効ビットを読み込む（１７０３）。そして、符号語を復号してランレングス符号を生成し（１７０４）、ランレングス符号と係数位置情報を用いてビットプレーンを復元する（１７０５）。
図１１のような係数位置情報が読み込まれた場合は、係数位置ａと係数位置ｂの間の領域に対してランレングス符号を適用することで、ビットプレーンが復元される。
１７０３〜１７０５の処理はブロック毎に繰り返され、１７０２〜１７０５の処理はマクロブロック毎に繰り返され、１７０１〜１７０５の処理は階層毎に繰り返される。また、１７０２においてマクロブロックが無効の場合は、１７０３〜１７０５の処理がスキップされ、１７０３においてブロックが無効の場合は、１７０４および１７０５の処理がスキップされる。
図３に示した従来の符号化処理では、ビットプレーンのシフト量を表すビットｚがブロック毎に伝送されるが、シフト量をブロック毎ではなく階層毎に固定して伝送することも考えられる。
この場合、符号化装置は、図１０の１００３において、その階層でのシフト量を表すビット（１−５ｂｉｔ）をフレームのヘッダ情報の一部として伝送する。そして、１００４では、その階層でのシフト量を用いてビットプレーンをシフトする。このような伝送方法によれば、シフト量に関する伝送データを削減することができる。
また、図１２の１２０５では、ブロック有効／無効ビットがブロックヘッダに付加されているが、この情報をフレームヘッダに付加することも考えられる。この場合、符号化装置は、１２０５において、ブロック有効／無効ビットのみを別途ランレングス符号化し、フレームのヘッダ情報の一部として伝送する。このような伝送方法によれば、ブロック有効／無効に関する伝送データを削減することができる。
図１８は、第１の符号化処理を行う符号化装置の回路構成を示している。図１８の符号化装置は、ビットプレーン生成部１８０１、ランレングス検出部１８０２、ランレングス符号化部１８０３、符号化テーブル１８０４、および符号語生成部１８０５を備える。
ビットプレーン生成部１８０１は、入力された係数をビットプレーンに展開し、所定のシフト量に基いてビットプレーンをシフトする。ランレングス検出部１８０２は、入力された係数位置情報を用いてビットプレーンからラン長を検出し、ランレングス符号化部１８０３は、検出されたラン長を用いてランレングス符号（ＲＵＮ，ＥＯＰ）を生成する。
また、ランレングス符号化部１８０３は、マクロブロックおよびブロックの有効／無効ビット（ａｌｌ  ０？）も出力する。そして、符号語生成部１８０５は、符号化テーブル１８０４を参照してランレングス符号の可変長符号化を行い、符号語を出力する。また、符号語生成部１８０５は、シフト量、係数位置情報、および有効／無効ビットも出力する。
図１９は、第１の復号処理を行う復号装置の回路構成を示している。図１９の復号装置は、符号語復号部１９０１、ビットプレーン生成部１９０２、シフト部１９０３、およびメモリ１９０４を備える。
符号語復号部１９０１は、入力されたビットストリームの中の符号語を復号して復号結果を出力するとともに、シフト量、係数位置情報、および有効／無効ビットも出力する。ビットプレーン生成部１９０２は、係数位置情報、有効／無効ビット、および復号結果を用いて、ブロックのビットプレーンを生成し、シフト部１９０３は、シフト量に基いてビットプレーンをシフトする。そして、メモリ１９０４は、入力される各階層のビットプレーンの加算結果を保持し、係数のブロックを復元して出力する。
次に、図２０から図２６までを参照しながら、第２の符号化／復号方法について詳細に説明する。第２の符号化では、とりうる係数位置を１つのみに限定し、ブロック内でのランレングス符号化ではなく、ブロック間にまたがるランレングス符号化を行う。
図２０は、第２の符号化処理のフローチャートである。図２０において２００１および２００２の処理は、図３の３０１および３０２の処理と同様である。２００３では、符号化装置は、フレーム同期ビットとシフト可否を示すビットを伝送し、シフト可であれば係数をシフトする。そして、１フレーム分の係数シフト情報を、フレームのヘッダ情報の一部として伝送する（２００４）。この係数シフト情報は、各階層で用いられるシフト量を示す情報である。
次に、階層同期ビットと階層識別子を伝送し、その階層での係数位置ｙを指定する情報を伝送する（２００５）。この係数位置情報は、１つのブロック内の１つの係数位置（１ビット）を指定する情報である。
次に、シフト済みのビットプレーンを用いて、係数位置情報により指定された位置のビット値（１または０）を検出し、１フレーム全体（すべてのブロック）を対象としてランレングス符号化を行う（２００６）。この場合、第１の符号化とは異なり、各ブロックから１ビットの係数情報のみが抽出され、ＲＵＮのみを用いて通常のランレングス符号化が行われる。
次に、階層有効／無効を示す情報を伝送する（２００７）。２００６で得られたすべてのブロックのビットが０になる場合、その階層は無効となる。そして、２００６で得られたランレングス符号の可変長符号化を行って、符号語ビットを伝送する（２００８）。
２００５〜２００８の処理はＭＳＢ側から順に階層毎に繰り返され、２００１〜２００８の処理はフレーム毎に繰り返される。また、２００７において階層が無効である場合は、２００８の処理がスキップされ、符号語の伝送は行われない。
こうして、例えば、図２１に示すようなビットストリームが生成され、受信装置に伝送される。このような符号化処理によれば、各ブロックで１つの係数位置しか指定されず、フレーム全体でランレングス符号化が行われるので、第１の符号化と比較して大幅に符号化効率が向上する。
図２２は、図２０の２００３〜２００８のより具体的な処理を示すフローチャートである。符号化装置は、まず、フレーム同期ビットを伝送し、シフト可否を示すビットと係数シフト情報を伝送する（２２０１）。フレーム同期ビットとしては、例えば、０ｘ０１Ｂ９（３２ｂｉｔ）が用いられる。
次に、階層同期ビット（階層番号込み）を伝送し（２２０２）、その階層における係数位置情報を伝送する（２２０３）。ここでは、例えば、図１３に示した順序番号のうちの１つが係数位置情報として用いられる。
次に、その階層の各ブロックのビットプレーンにおいて、係数位置情報により指定された位置のビット値を検出し、フレーム全体でランレングス符号化を行う（２２０４）。このとき、ランレングス符号化は、画面上の左から右に向かって、かつ上から下に向かって行われる。
次に、２２０４の結果を用いて、その階層の有効／無効を判定し、階層有効／無効を示すビットを伝送する（２２０５）。画面内のビット値がオールゼロであれば、その階層が無効であることがわかる。そして、階層が有効であれば、２２０４で得られたランレングス符号の可変長符号化を行い、符号語ビットを伝送する（２２０６）。
２２０２〜２２０６の処理は階層毎に繰り返され、２２０５において階層が無効である場合は、２２０６の処理がスキップされる。
この例では、１つのビットプレーンに対して１箇所の係数位置を指定しているが、２箇所以上の係数位置を指定することも可能である。この場合、同じビットプレーンに対する異なる係数位置から生成される符号語は、異なる階層の画像情報として伝送される。
図２３は、ＭＳＢのビットプレーンにおける符号化の例を示している。このビットプレーンは、Ｎ＋１個のブロックからなり、ブロック２３０１、２３０２、および２３０３は、それぞれブロック０、ブロック１、およびブロックＮに対応する。
まず、０番目の係数位置を指定して、各ブロックの第０係数のＭＳＢのみを集めると、ビット列２３０４が得られる。これをＲＵＮのみでランレングス符号化すると、０，．．．のような符号が得られる。
また、１番目の係数位置を指定して、各ブロックの第１係数のＭＳＢのみを集めると、ビット列２３０５が得られる。これをランレングス符号化すると、１，．．．のような符号が得られる。
さらに、６３番目の係数位置を指定して、各ブロックの第６３係数のＭＳＢのみを集めると、ビット列２３０６が得られる。これも同様にランレングス符号化することができる。ビット列２３０４、２３０５、および２３０６から生成されるランレングス符号を、それぞれ異なる階層のデータとして扱うことも可能である。
図２４は、ビットストリームを受信した復号装置による復号処理のフローチャートである。復号装置は、階層同期ビットに続いて係数位置情報を読み込み、階層有効／無効ビットを読み込む（２４０１）。そして、符号語をランレングス復号し（２４０２）、復号結果と係数位置情報を用いてビットプレーンを復元する（２４０３）。このとき、係数位置情報により指定された位置以外のビットはすべて０とする。
２４０１〜２４０３の処理は階層毎に繰り返され、２４０１において階層が無効の場合は、２４０２および２４０３の処理がスキップされる。
ところで、図２２の２２０５では、階層有効／無効ビットが伝送されているが、無効の場合はそもそも伝送の必要がないので、その階層の情報をすべて破棄して、次の階層の符号化を行ってもよい。この場合、符号化装置は、２２０５において階層が無効であれば、その階層の情報をすべて破棄して、２２０２以降の処理を行う。これにより、階層有効／無効ビットの伝送を省略することができる。
また、図２０の２００６では、ＲＵＮのみを用いてランレングス符号化を行っているが、第１の符号化と同様に、（ＲＵＮ，ＥＯＰ）を用いてランレングス符号化を行ってもよい。
図２５は、第２の符号化処理を行う符号化装置の回路構成を示している。図２５の符号化装置は、ビットプレーン生成部２５０１、メモリ２５０２、ランレングス検出部２５０３、ランレングス符号化部２５０４、符号化テーブル２５０５、および符号語生成部２５０６を備える。
ビットプレーン生成部２５０１は、入力された係数をビットプレーンに展開し、所定のシフト量に基いてビットプレーンをシフトして、メモリ２５０２に１フレーム分のビットプレーンを出力する。ランレングス検出部２５０３は、入力された係数位置情報を用いてメモリ２５０２のビットプレーンからラン長を検出し、ランレングス符号化部２５０４は、検出されたラン長を用いてランレングス符号を生成する。
また、ランレングス符号化部２５０４は、階層有効／無効ビット（ａｌｌ  ０？）も出力する。そして、符号語生成部２５０６は、符号化テーブル２５０５を参照してランレングス符号の可変長符号化を行い、符号語を出力する。また、符号語生成部２５０６は、シフト量、係数位置情報、および有効／無効ビットも出力する。
図２６は、第２の復号処理を行う復号装置の回路構成を示している。図２６の復号装置は、符号語復号部２６０１、ブロック情報保持メモリ２６０２、ビットプレーン生成部２６０３、シフト部２６０４、およびメモリ２６０５を備える。
符号語復号部２６０１は、入力されたビットストリームの中の符号語を復号して復号結果を出力するとともに、シフト量、係数位置情報、および有効／無効ビットも出力する。
ビットプレーン生成部２６０３は、係数位置情報、有効／無効ビット、および復号結果を用いて、ブロック毎のビットプレーンを生成する。このとき、ブロック情報保持メモリ２６０２に１フレーム分のビットプレーンを格納しておく。シフト部２６０４は、シフト量に基いてビットプレーンをシフトする。そして、メモリ２６０５は、入力される各階層のビットプレーンの加算結果を保持し、係数のブロックを復元して出力する。
次に、図２７から図３３までを参照しながら、第３の符号化／復号方法について詳細に説明する。第３の符号化では、ビットプレーンではなく、係数値そのものを使用し、ブロック内の係数位置を指定することで階層を定義する。
一般に、ブロック内では、低周波数側の係数（低次係数）の方が高周波数側の係数（高次係数）より優先度が高い。そこで、低次係数から高次係数に向かって順に係数位置を指定していき、この順で階層毎の係数を伝送することで、効率の良い配信を行うことができる。
図２７は、第３の符号化処理のフローチャートである。図２７において２７０１および２７０２の処理は、図３の３０１および３０２の処理と同様である。ただし、ＤＣＴにより得られた係数は、ビットプレーンとして扱わない。
２７０３では、符号化装置は、フレーム同期ビットを伝送する。次に、階層同期ビットと階層識別子を伝送し、その階層での量子化サイズと、その階層での係数位置ｙを指定する情報を伝送する（２７０４）。この係数位置情報は、例えば、１つのブロック内の１つの係数位置を指定する情報である。複数の異なる階層において同じ係数位置を指定することもできる。
次に、その階層の各ブロックから、係数位置情報により指定された位置の係数を抽出して量子化し（２７０５）、階層有効／無効を示すビットを伝送する（２７０６）。２７０５で得られたすべてのブロックの量子化された係数値が０になる場合、その階層は無効となる。そして、量子化された係数値の可変長符号化を行って、符号語ビットを伝送する（２７０７）。
２７０４〜２７０７の処理は階層毎に繰り返され、２７０１〜２７０７の処理はフレーム毎に繰り返される。また、２７０６において階層が無効である場合は、２７０７の処理がスキップされ、符号語の伝送は行われない。これにより、量子化された係数がすべて０になる場合の符号化効率が向上する。
こうして、例えば、図２８に示すようなビットストリームが生成され、受信装置に伝送される。このような符号化処理によれば、従来の階層符号化におけるビットプレーンを用いるのではなく、係数位置を指定することで階層化を行うので、ビットプレーンの数に依存しない符号化を行うことができる。
図２９は、図２７の２７０４〜２７０７のより具体的な処理を示すフローチャートである。符号化装置は、まず、階層同期ビット（階層番号込み）を伝送し（２９０１）、その階層での量子化サイズを示すビット（５ｂｉｔ）を伝送する（２９０２）。
次に、その階層における係数位置情報を伝送する（２９０３）。ここでは、例えば、図１３に示した順序番号のうちの１つが係数位置情報として用いられる。そして、その階層の各ブロックにおいて、係数位置情報により指定された位置の係数を抽出し、２９０２で指定された量子化サイズで量子化する（２９０４）。
異なる階層で量子化サイズを変えて同じ位置の係数を量子化する場合、量子化サイズが粗い方を優先度の高い階層として先に伝送し、量子化サイズが細かい方を優先度の低い階層として後で伝送する。この場合、優先度の低い階層では、優先度の高い階層での量子化誤差のみを符号化することで、符号化効率を向上させる。
例えば、前の階層Ｂで同じ位置の係数が大きな量子化サイズで量子化されていた場合、２９０４では、階層Ｂにおける量子化前の係数から、量子化された係数の逆量子化結果を減算し、得られた差分（量子化誤差）に対して量子化を行う。
次に、２９０４の結果を用いて、その階層の有効／無効を判定し、階層有効／無効を示すビットを伝送する（２９０５）。量子化された係数がオールゼロであれば、その階層が無効であることがわかる。そして、量子化された係数の可変長符号化を行い、符号語ビットを伝送する（２９０６）。
２９０１〜２９０６の処理は階層毎に繰り返され、２９０５において階層が無効である場合は、２９０６の処理がスキップされる。このような処理によれば、量子化済みの係数が直接まとめて符号化され、同じ係数位置を指定する階層が複数存在する場合は、より優先度の低い階層で量子化誤差のみが符号化されるので、符号化効率が向上する。
図３０は、ある階層における符号化の例を示している。１フレームはＮ＋１個のブロックからなり、ブロック３００１、３００２、および３００３は、それぞれブロック０、ブロック１、およびブロックＮに対応する。
ここでは、簡単のため、量子化サイズによる単純除算（小数点以下切り捨て）を用いて量子化を行う。０番目の係数位置を指定し、量子化サイズを２とすると、各ブロックの量子化前後の係数値は、以下のようになる。
2003079692.tif 000003
したがって、この階層の符号化結果は、（５の符号語）（１の符号語）．．．（７の符号語）となる。他の階層も同様にして符号化される。この例では、１つの階層において１箇所の係数位置を指定しているが、第１の符号化と同様に、係数位置の範囲を指定することも可能である。
図３１は、ビットストリームを受信した復号装置による復号処理のフローチャートである。復号装置は、階層同期ビットに続いて係数位置情報を読み込み、階層有効／無効ビットを読み込む（３１０１）。そして、符号語を復号して逆量子化し（３１０２）、逆量子化の結果と係数位置情報を用いて係数を復元する（２４０３）。このとき、係数位置情報により指定された位置以外の係数はすべて０とする。
３１０１〜３１０３の処理は階層毎に繰り返され、３１０１において階層が無効の場合は、３１０２および３１０３の処理がスキップされる。
ところで、図２９の２９０５では、階層有効／無効ビットが伝送されているが、無効の場合はそもそも伝送の必要がないので、その階層の情報をすべて破棄して、次の階層の符号化を行ってもよい。この場合、符号化装置は、２９０５において階層が無効であれば、その階層の情報をすべて破棄して、２９０１以降の処理を行う。これにより、階層有効／無効ビットの伝送を省略することができる。
また、図２９の２９０６では、各係数を符号化しているが、量子化された係数に０が含まれている場合、１フレーム全体を対象としてラン長を検出して、ランレングス符号化を行ってもよい。この場合、ラン長と非ゼロ係数値の組み合わせに対して可変長符号化が行われ、符号語が生成される。
図３２は、第３の符号化処理を行う符号化装置の回路構成を示している。図３２の符号化装置は、メモリ３２０１、量子化部３２０２、ローカル復号部３２０３、符号化テーブル３２０４、および符号語生成部３２０５を備える。
メモリ３２０１は入力された係数を保持し、量子化部３２０２は、入力された量子化サイズおよび係数位置情報を用いて係数を量子化し、ローカル復号部３２０３は、量子化された係数を逆量子化する。これにより、メモリ３２０１の係数から逆量子化の結果が減算され、得られた差分がメモリ３２０１に格納される。また、量子化部３２０２は、階層有効／無効ビット（ａｌｌ  ０？）も出力する。
そして、符号語生成部３２０５は、符号化テーブル３２０４を参照して量子化された係数の可変長符号化を行い、符号語を出力する。また、符号語生成部３２０５は、量子化サイズ、係数位置情報、および有効／無効ビットも出力する。
図３３は、第３の復号処理を行う復号装置の回路構成を示している。図３３の復号装置は、符号語復号部３３０１、ブロック生成部３３０２、およびメモリ３３０３を備える。
符号語復号部３３０１は、入力されたビットストリームの中の符号語を復号して逆量子化し、各階層の係数を出力するとともに、係数位置情報および有効／無効ビットも出力する。
ブロック生成部３３０２は、係数位置情報、有効／無効ビット、および係数を用いて、各階層におけるブロック毎のデータを生成する。そして、メモリ３３０３は、入力される各階層のデータの加算結果を保持し、係数のブロックを復元して出力する。
ところで、以上説明した第１、第２、および第３の符号化装置および復号装置を、例えば、図３４に示すような情報処理装置（コンピュータ）を用いて構成することも可能である。図３４の情報処理装置は、ＣＰＵ（中央処理装置）３４０１、メモリ３４０２、入力装置３４０３、出力装置３４０４、外部記憶装置３４０５、媒体駆動装置３４０６、およびネットワーク接続装置３４０７を備え、それらはバス３４０８により互いに接続されている。
メモリ３４０２は、例えば、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）等を含み、処理に用いられるプログラムとデータを格納する。ＣＰＵ３４０１は、メモリ３４０２を利用して符号化プログラムおよび復号プログラムを実行することにより、符号化処理および復号処理を行う。
入力装置３４０３は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。出力装置３４０４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、ユーザへの問い合わせや情報の出力に用いられる。
外部記憶装置３４０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置３４０５に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３４０２にロードして使用する。
媒体駆動装置３４０６は、可搬記録媒体３４０９を駆動し、その記録内容にアクセスする。可搬記録媒体３４０９としては、メモリカード、フレキシブルディスク、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体３４０９に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３４０２にロードして使用する。
ネットワーク接続装置３４０７は、ストリーミング配信用の通信ネットワークに接続され、ビットストリームを送受信する。また、情報処理装置は、上述のプログラムとデータをネットワーク接続装置３４０７を介して他の装置から受け取り、必要に応じて、それらをメモリ３４０２にロードして使用する。
図３５は、図３４の情報処理装置にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体３４０９やサーバ３５０１のデータベース３５０２に保存されたプログラムとデータは、メモリ３４０２にロードされる。このとき、サーバ３５０１は、プログラムとデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して情報処理装置に送信する。そして、ＣＰＵ３４０１は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
以上の実施形態では、主として動画像の配信について説明したが、本発明は、動画像に限らず、音声等を含む任意の情報の配信に適用することができる。
産業上の利用可能性
本発明によれば、ベースレイヤとエンハンスメントレイヤからなる階層符号化データの配信において、エンハンスメントレイヤで符号化される係数の範囲を制限することで、用意すべき可変長符号語の種類を減らすことができる。したがって、可変長符号語全体のビット数も減少し、エンハンスメントレイヤの符号化効率が向上する。
【図面の簡単な説明】
図１は、従来の符号化装置の構成図である。
図２は、従来の復号装置の構成図である。
図３は、従来の符号化処理のフローチャートである。
図４は、従来のビットストリームを示す図である。
図５は、係数のビットプレーン化を示す図である。
図６は、１ブロックの係数を示す図である。
図７は、４階層のビットプレーンを示す図である。
図８は、ビットプレーンのジグザグスキャンを示す図である。
図９は、シフトされたビットプレーンを示す図である。
図１０は、第１の符号化処理のフローチャートである。
図１１は、第１の符号化におけるビットストリームを示す図である。
図１２は、第１の符号化処理の詳細なフローチャートである。
図１３は、ブロック内の係数位置を示す図である。
図１４は、ビットプレーンにおける第１の指定範囲を示す図である。
図１５は、指定範囲のジグザグスキャンを示す図である。
図１６は、ビットプレーンにおける第２の指定範囲を示す図である。
図１７は、第１の復号処理のフローチャートである。
図１８は、第１の符号化装置の構成図である。
図１９は、第１の復号装置の構成図である。
図２０は、第２の符号化処理のフローチャートである。
図２１は、第２の符号化におけるビットストリームを示す図である。
図２２は、第２の符号化処理の詳細なフローチャートである。
図２３は、１フレームのランレングス符号化を示す図である。
図２４は、第２の復号処理のフローチャートである。
図２５は、第２の符号化装置の構成図である。
図２６は、第２の復号装置の構成図である。
図２７は、第３の符号化処理のフローチャートである。
図２８は、第３の符号化におけるビットストリームを示す図である。
図２９は、第３の符号化処理の詳細なフローチャートである。
図３０は、１フレームの係数ブロックを示す図である。
図３１は、第３の復号処理のフローチャートである。
図３２は、第３の符号化装置の構成図である。
図３３は、第３の復号装置の構成図である。
図３４は、情報処理装置の構成図である。
図３５は、記録媒体を示す図である。
【図１】
2003079692.tif 000004
【図２】
2003079692.tif 000005
【図３】
2003079692.tif 000006
【図４】
2003079692.tif 000007
【図５】
2003079692.tif 000008
【図６】
2003079692.tif 000009
【図７】
2003079692.tif 000010
【図８】
2003079692.tif 000011
【図９】
2003079692.tif 000012
【図１０】
2003079692.tif 000013
【図１１】
2003079692.tif 000014
【図１２】
2003079692.tif 000015
【図１３】
2003079692.tif 000016
【図１４】
2003079692.tif 000017
【図１５】
2003079692.tif 000018
【図１６】
2003079692.tif 000019
【図１７】
2003079692.tif 000020
【図１８】
2003079692.tif 000021
【図１９】
2003079692.tif 000022
【図２０】
2003079692.tif 000023
【図２１】
2003079692.tif 000024
【図２２】
2003079692.tif 000025
【図２３】
2003079692.tif 000026
【図２４】
2003079692.tif 000027
【図２５】
2003079692.tif 000028
【図２６】
2003079692.tif 000029
【図２７】
2003079692.tif 000030
【図２８】
2003079692.tif 000031
【図２９】
2003079692.tif 000032
【図３０】
2003079692.tif 000033
【図３１】
2003079692.tif 000034
【図３２】
2003079692.tif 000035
【図３３】
2003079692.tif 000036
【図３４】
2003079692.tif 000037
【図３５】
2003079692.tif 000038
【手続補正書】
【提出日】平成16年5月26日(2004.5.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する階層符号化装置であって、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化するビットプレーン生成部と、
前記第２レイヤにおける１つの階層のビットプレーン内において、該階層の係数位置情報により指定される範囲の係数位置のビット値を符号化して、符号語を生成する符号化部と、
前記係数位置情報と符号語を送信する送信部と
を備えることを特徴とする階層符号化装置。
【請求項２】  第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する階層符号化装置であって、
前記係数を複数のビットプレーンに展開することで、前記第２レイヤを階層化するビットプレーン生成部と、
前記第２レイヤにおける１つの階層の各ブロックのビットプレーン内において、該階層の係数位置情報により指定される係数位置のビット値を検出し、複数のブロックから検出されたビット値に対してランレングス符号化を行って、符号語を生成する符号化部と、
前記係数位置情報と符号語を送信する送信部と
を備えることを特徴とする階層符号化装置。
【請求項３】  第１レイヤにおいてデータを符号化して送信し、第２レイヤにおいて、該第１レイヤの復号データと所定のデータの差分データを求め、該差分データを複数のブロックに分割し、ブロック毎に直交変換を行って係数を求め、該係数を符号化して送信する階層符号化装置であって、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおいて、１つの階層の各ブロック内から該階層の係数位置情報により指定される係数位置の値を抽出して量子化する量子化部と、
量子化された値を符号化して符号語を生成する符号化部と、
前記係数位置情報と符号語を送信する送信部と
を備えることを特徴とする階層符号化装置。
【請求項４】  前記符号化部は、複数のブロックの量子化された値に対してランレングス符号化を行って、前記符号語を生成することを特徴とする請求項３記載の階層符号化装置。
【請求項５】  前記量子化部は、前記第２レイヤの複数の階層において同じ係数位置が指定されたとき、優先度の高い階層において大きな量子化サイズを用いた量子化を行い、優先度が低い階層において小さな量子化サイズを用いた量子化を行うことを特徴とする請求項３記載の階層符号化装置。
【請求項６】  第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する復号装置であって、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信する受信部と、
前記符号語を復号する復号部と、
前記第２レイヤにおける前記階層のビットプレーン内において、復号結果を用いて前記係数位置情報により指定される範囲のビット値を生成し、該指定される範囲以外のビット値をゼロとすることで、該階層のビットプレーンを生成するビットプレーン生成部と、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する復元部と
を備えることを特徴とする復号装置。
【請求項７】  第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する復号装置であって、
前記係数を複数のビットプレーンに展開することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信する受信部と、
前記符号語のランレングス復号を行って、前記第２レイヤにおける前記階層の複数のブロックの復号結果を生成する復号部と、
前記第２レイヤにおける前記階層の各ブロックのビットプレーン内において、前記復号結果を用いて前記係数位置情報により指定される係数位置のビット値を生成し、該指定される係数位置以外のビット値をゼロとすることで、該階層の各ブロックのビットプレーンを生成するビットプレーン生成部と、
前記第２レイヤにおける各階層のビットプレーンを順次加算して、係数のブロックを復元する復元部と
を備えることを特徴とする復号装置。
【請求項８】  第１レイヤにおいてデータを受信して復号し、第２レイヤにおいて、データを受信して復号し、得られた係数に対してブロック毎に直交変換の逆変換を行って、変換結果を該第１レイヤにおける復号結果に加算する復号装置であって、
前記ブロック内における係数位置を指定することで階層化された前記第２レイヤにおける１つの階層の係数位置情報と符号語を受信する受信部と、
前記符号語を復号して逆量子化する復号部と、
前記第２レイヤにおける前記階層の各ブロック内において、逆量子化の結果を用いて前記係数位置情報により指定される係数位置の値を生成し、該指定される係数位置以外の値をゼロとすることで、該階層の各ブロックを生成するブロック生成部と、
前記第２レイヤにおける各階層のブロックを順次加算して、係数のブロックを復元する復元部と
を備えることを特徴とする復号装置。
【国際調査報告】
2003079692.tif 000039
2003079692.tif 000040
2003079692.tif 000041
2003079692.tif 000042