JP5685683B2 - バイトアラインメント装置及びバイトアラインメント方法 - Google Patents

バイトアラインメント装置及びバイトアラインメント方法 Download PDF

Info

Publication number
JP5685683B2
JP5685683B2 JP2011236672A JP2011236672A JP5685683B2 JP 5685683 B2 JP5685683 B2 JP 5685683B2 JP 2011236672 A JP2011236672 A JP 2011236672A JP 2011236672 A JP2011236672 A JP 2011236672A JP 5685683 B2 JP5685683 B2 JP 5685683B2
Authority
JP
Japan
Prior art keywords
coefficient sequence
coefficient
byte alignment
block
sequence
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
JP2011236672A
Other languages
English (en)
Other versions
JP2013098596A (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.)
Gnzo Inc
Original Assignee
Gnzo 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
Priority to JP2011236672A priority Critical patent/JP5685683B2/ja
Application filed by Gnzo Inc filed Critical Gnzo Inc
Priority to IN3190DEN2014 priority patent/IN2014DN03190A/en
Priority to KR20147010898A priority patent/KR20140098063A/ko
Priority to SG11201401801SA priority patent/SG11201401801SA/en
Priority to EP12844450.2A priority patent/EP2773110A4/en
Priority to US14/354,915 priority patent/US20140269929A1/en
Priority to PCT/JP2012/076815 priority patent/WO2013061840A1/ja
Priority to CN201280053102.9A priority patent/CN103907356A/zh
Publication of JP2013098596A publication Critical patent/JP2013098596A/ja
Application granted granted Critical
Publication of JP5685683B2 publication Critical patent/JP5685683B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、ブロック係数列を可変長符号化して得られるビットストリームに対してバイトアラインメントを行うための技術に関するものである。
近年、様々な環境において、高品質な映像情報の編集処理が行われるようになった。映像情報の編集処理とは、例えば、伝送路中の映像情報の認識処理、単一映像の編集処理、複数の映像の合成処理などである。このような映像情報の編集処理は、データセンターのサーバや個人のパーソナルコンピュータだけでなく、個人が所有する携帯端末や、ネットワーク家電、自動車内オーディオビジュアル装置、ネットワーク内のルータ等で行われることが想定される。ここで、映像情報の編集処理は、通常、MB群(すなわち、MBで構成されるMBライン、単独のMB、任意のMBのグループなど)を単位として行われる。したがって、映像情報の編集処理は、MB群に対応する映像ビットストリームを単位として行われる。
一方、映像ビットストリームは、H.264の場合、量子化されたブロック係数列を可変長符号化することにより生成される。すなわち、MB群に対応する映像ビットストリームは、MB群に属するブロック係数列の可変長符号化により、ビット単位での符号化情報として生成される。このように生成されたビットストリームは、符号化の対象とした映像信号情報(係数列情報)がバイト区切りの情報であったとしても、必ずしもバイト区切りにはならないことが知られている。
映像ビットストリームがバイト区切りでない場合は、映像ビットストリームのコピーやシークという、データ処理作業において、ビットシフト演算処理が必要となり、機器への負担が増えるという問題がある。
下記特許文献1は、H.264/AVCで用いられるスライスヘッダを用いて、フレーム単位のビットストリームをバイトアラインメントする方法について述べている。しかしながら、特許文献1の技術では、フレームのビットストリーム全体を対象としたスライスヘッダでのビット量調整を前提とするため、任意のMB群におけるバイトアラインメントを行うことができず、使用上の柔軟性に欠ける。また、一つのフレームに挿入可能なスライスヘッダ数には上限があるため、任意の箇所のMB群においてバイトアラインメントすることは難しいという問題もある。
[1]国際公開番号:WO2009/093647
本発明は、前記の状況に鑑みてなされたものである。本発明の目的の一つは、ビットストリーム抽出処理におけるシフト演算処理を回避し、処理負荷を抑制することが可能な技術を提案することである。本発明のより具体的な目的は、MB中のブロックの係数列を調整することにより、MB群単位で符号化されるビットストリームのビット量を調整し、これによって、任意のMB群から生成されるビットストリームをバイトアラインメントする技術を提供することである。
前記した課題を解決する手段は、以下の項目のように記載できる。
(項目1)
ブロック係数列を可変長符号化して得られるビットストリームに対してバイトアラインメントを行うための装置であって、
基準係数列挿入部と、所望増加ビット量算出部と、調整係数列検索部と、調整係数列挿入部とを備えており、
前記基準係数列挿入部は、量子化されたブロック係数列のうちの高周波成分である調整係数列を、既定の基準係数列に置換する構成となっており、
前記所望増加ビット量算出部は、前記調整係数列が前記基準係数列に置換された前記ブロック係数列を可変長符号化して得られるビットストリームの符号量に基づいて、バイトアラインメントのために増加させるべきビット量を算出する構成となっており、
前記調整係数列検索部は、前記増加させるべきビット量に基づいて、前記基準係数列に置換されるべき適切な調整係数列を検索する構成となっており、
前記調整係数列挿入部は、検索された前記調整係数列を前記基準係数列に対応する高周波成分に挿入する構成となっている
バイトアラインメント装置。
(項目2)
さらにガード係数挿入部を備えており、
前記ガード係数挿入部は、前記ブロック係数列における前記高周波成分係数列よりも1次数だけ低周波側に位置する係数を、ガード係数に置換する構成となっており、
前記ガード係数は、前記ガード係数よりも低周波側の係数の値による、前記ビットストリームの符号量への影響を抑制するものである
項目1に記載のバイトアラインメント装置。
(項目3)
前記調整係数列検索部は、前記増加させるべきビット量に加えて、可変長符号化後のビットストリームの符号量に影響する要因に基づいて、前記適切な調整係数列を検索する構成となっている
項目1又は2に記載のバイトアラインメント装置。
(項目4)
さらに検索DBを備えており、
前記検索DBは、前記増加させるべきビット量、及び/又は、可変長符号化後のビットストリームの符号量に影響する要因に基づいて、前記適切な調整係数列を検索できる構成となっている
項目1〜3のいずれか1項に記載のバイトアラインメント装置。
(項目5)
項目1〜4のいずれか1項に記載のバイトアラインメント装置と、可変長符号化部とを備えており、
前記可変長符号化部は、前記バイトアラインメント装置によるバイトアラインメント処理の対象となる対象ブロックに隣接する隣接ブロックの係数列を可変長符号化する際には、
前記対象ブロックの符号化における予測モードの制限、及び/又は、符号化に用いる係数値の固定を行う構成となっている
ビットストリーム生成装置。
(項目6)
ブロック係数列を可変長符号化して得られるビットストリームに対してバイトアラインメントを行うために用いるビットストリーム生成方法であって、
量子化されたブロック係数列のうちの高周波成分である調整係数列を、既定の基準係数列に置換するステップと、
前記調整係数列が前記基準係数列に置換された前記ブロック係数列を可変長符号化して得られるビットストリームの符号量に基づいて、バイトアラインメントのために増加させるべきビット量を算出するステップと、
前記増加させるべきビット量に基づいて、前記基準係数列に置換されるべき適切な調整係数列を検索するステップと、
検索された前記調整係数列を前記基準係数列に対応する高周波成分に挿入するステップと
を備える、ビットストリーム生成方法。
(項目7)
項目6に記載の方法をコンピュータに実行させるためのコンピュータプログラム。
(項目8)
ブロック係数列によって構成されるデータ構造であって、
前記ブロック係数列における高周波成分係数は、可変長符号化後のビットストリームにおけるバイトアラインメントを行うための調整係数列とされており、
前記調整係数列よりも1次数だけ低周波側の係数には、ガード係数が挿入されており、
前記ガード係数は、このガード係数よりも低周波側にある低周波成分係数の値による、可変長符号化条件への影響を抑制するものとなっている
データ構造。
本発明によれば、任意のMB群から生成されるビットストリームをバイトアラインメントする技術を提供することができる。
本発明の第1実施形態におけるバイトアラインメント処理部を用いた符号化装置の概略的な構成を説明するためのブロック図である。 第1実施形態のバイトアラインメント処理部の概略的な構成を説明するためのブロック図である。 検索テーブルの構成を説明するための説明図である。 第1実施形態の符号化処理の全体的手順を説明するためのフローチャートである。 第1実施形態のバイトアラインメント処理の手順を説明するためのフローチャートである。 ブロック係数列について説明するための説明図である。 調整係数列の挿入について説明するための説明図である。 検索テーブルの生成手順を説明するためのフローチャートである。 第1実施形態のバイトアラインメント処理手順における符号化モードの制約ないし固定を説明するためのフローチャートである。図(a)は第1実施形態での調整対象ブロックを示す。図(b)は第2実施形態での調整対象ブロックと、これに関連する符号化モードの制限ないし固定を示す。
以下、添付図面を参照しながら、本発明の第1実施形態に係る符号化システムについて説明する。
(本実施形態の構成)
まず、本実施形態の符号化システムが使用される符号化装置全体の概略的構成を、図1を参照しながら説明する。
このシステムは、整数精度変換部1と、量子化部2と、バイトアラインメント処理部3と、可変長符号化部4とから構成されている。以下、各要素について説明する。
(整数精度変換部)
整数精度変換部1は、ブロック係数列(フレーム内符号化の場合)またはブロック係数列の残差信号(フレーム間符号化の場合)が入力されるものである。なお、この明細書では、ブロック係数列とその残差信号との両者を含めてブロック係数列と総称する。整数精度変換部1は、実数精度の入力値を整数精度に変換するものであり、これは、従来のH.264での実装と同様に構成できるので、これについての詳しい説明は省略する。
(量子化部)
量子化部2は、整数精度変換されたブロック係数列を量子化する機能要素である。この量子化部2も、従来のH.264での実装と同様に構成できるので、これについての詳しい説明は省略する。
(バイトアラインメント処理部)
バイトアラインメント処理部3は、本発明のバイトアラインメント装置の一実施形態に対応する機能要素である。
本実施形態のバイトアラインメント処理部3は、図2に示すように、基準係数列挿入部31と、所望増加ビット量算出部32と、調整係数列検索部33と、調整係数列挿入部34と、ガード係数挿入部35と、検索DB36とを備えている。
基準係数列挿入部31は、量子化されたブロック係数列のうちの高周波成分である調整用の係数列(後述のTailCoeff)を、既定の基準係数列に置換する構成となっている。
所望増加ビット量算出部32は、調整用の係数列が基準係数列に置換された状態のブロック係数列を可変長符号化して得られるビットストリームの符号量に基づいて、バイトアラインメントのために増加させるべきビット量を算出する構成となっている。
調整係数列検索部33は、増加させるべきビット量に基づいて、基準係数列(高周波成分係数列)に置換されるべき適切な調整係数列を検索する構成となっている。さらに、本実施形態の調整係数列検索部33は、増加させるべきビット量に加えて、可変長符号化後のビットストリームの符号量に影響する要因(後述)に基づいて、適切な調整係数列を検索する構成となっている。
調整係数列挿入部34は、検索された調整係数列を、基準係数列に対応する高周波成分に挿入する構成となっている。
ガード係数挿入部35は、ブロック係数列における高周波成分係数列よりも1次数だけ低周波側に位置する係数を、ガード係数(以下GuardCoeffということがある)に置換する構成となっている。GuardCoeffには固定係数値(本例では絶対値2以上の係数)を挿入する。ここで、ガード係数とは、ガード係数よりも低周波側の係数の値による、ビットストリームの符号量への影響を抑制するものである(後述)。ガード係数の位置は、ガード係数の挿入時には既に分かっているものとする。ガード係数の位置の探索については後述する。
検索DB36は、増加させるべきビット量、及び/又は、可変長符号化後のビットストリームの符号量に影響する要因に基づいて、適切な調整係数列を検索できる構成となっている。本実施形態の検索DB36は、具体的にはテーブル構造となっている(図3参照)が、DBの構造には特に制約はない。本明細書では、検索DBを検索テーブルと称することがある。本実施形態では、ビットストリーム符号量に影響するパラメータの一部を検索テーブルの検索キーとし、残りのパラメータを固定値としている。
本実施形態のバイトアラインメント処理部3の詳しい構成については、本実施形態の動作として後述する。
(可変長符号化部)
可変長符号化部4は、各ブロックの係数列に対して、可変長符号化を行う機能要素である。
本実施形態の可変長符号化部4は、「バイトアラインメント装置によるバイトアラインメント処理の対象となる対象ブロックに隣接する隣接ブロックの係数列を可変長符号化する際には、対象ブロックの符号化における予測モードの制限、及び/又は、符号化に用いる係数値の固定を行う構成」となっている。この点を除き、本実施形態の可変長符号化部4は、例えばH.264における、CAVLC(Context Adaptive Variable Length Coding)を用いた可変長符号化部と同様に構成することができる。
本実施形態の可変長符号化部4の詳しい構成についても、本実施形態の動作として後述する。
(本実施形態におけるビットストリーム生成手順)
以下、本実施形態におけるビットストリーム生成手順を、図4をさらに参照しながら説明する。なお、以下の例では、バイトアラインメントの対象となるMB群を、MBが一列に配置されて構成されたMBラインとする。また、本例において係数調整の対象とするブロックは、MBラインにおける最終MBの最終ブロックとする(図9(b)参照)。
(図4のステップSA−1〜3)
まず、符号化前の映像信号の入力を受け付け、その係数列を整数精度に変換する。さらに、整数精度に変換された係数列を量子化する。ここまでの処理は通常のH.264と同様でよいので、詳しい説明は省略する。
(図4のステップSA−4〜5)
ついで、本実施形態のバイトアラインメント処理部3を用いたバイトアラインメント処理の手順を、図5をさらに参照しながら説明する。
(図5のステップSB−0)
可変長符号化部4は、「係数列の調整を行うブロック(対象ブロック)を除く各ブロック」について、可変長符号化を行う。その結果得られるビットストリームの合計ビット数により、対象ブロックを除くMBラインのビットストリームのビット量を得ることができる。このビット量と、対象ブロック係数列の符号化によるビットストリームの符号量とを加算することにより、MBライン全体のビットストリームの符号量を取得することができる。この符号量が、バイトアラインメント処理の基準となる。
(図5のステップSB−1)
まず、バイトアラインメント処理部3は、量子化部2から、対象ブロックについての量子化処理が行われたブロック係数列を取得する。ここで、ブロック係数列の例を、図6を参照しながら補足して説明する。H.264では、1枚の画像を構成するフレーム100が、複数のMBライン101〜10nで構成されており、各MBラインは、複数のMBで構成されている(図6(a)参照)。そして、各MBは、複数のブロックにより構成されている(図6(b)参照)。H.264では、各ブロックは、4×4画素形成されている。図6では、各ブロックに1〜16のインデックスを付している。そして、量子化により、各インデックスに対応する量子化された係数値を特定することができる。このような各インデックスの係数値を、ジグザグスキャン(図6(c)参照)することによって、ブロックにおける係数列を生成することができる(図6(d)参照)。図6(d)に示す数字は、係数のインデックスを示しており、係数値を示すものではない。図6(d)において、11番の係数インデックスが、後述するガード係数となっており、それよりも高周波側(図6において右側)の係数列が、調整のために置換される係数列(以下TailCoeffということがある)であり、それよりも低周波側(図6において左側)の係数列が、信号の内容を示す係数列(以下LeftPartCoeffということがある)である。なお、本例において係数列を調整する対象となるブロックのインデックス番号は16である(図6(b)参照)。
(図5のステップSB−2)
ついで、基準係数列挿入部31は、前記したTailCoeffを、予め準備しておいた基準係数列(以下BaseCoeffということがある)に置換する。本実施形態では、基準係数列として、(0,0,0,0,0)という値が用いられている。これは、CAVLCにおいては、(0,0,0,0,0)という係数列を用いたときに、符号化後のビット量を最小とすることができるためである。
(図5のステップSB−3)
ついで、当該ブロック係数列の符号化が、初期のTailCoeffを置換した後の最初のものであるかどうかを確認する。すなわち、当該ブロック係数列の可変長符号化は、バイトアラインメントのために2度行われる。1度目は、TailCoeffを基準係数列で置き換えた係数列を可変長符号化し、2度目は、TailCoeffを調整係数列で置き換えた係数列を可変長符号化する。ここでの判定がYesであればステップSB−4に進む。
(図5のステップSB−4及びSB−5)
ついで、TailCoeffをBaseCoeffに置換し、置換後の係数列を用いて、可変長符号化部4により可変長符号化を行う。
(図5のステップSB−6及びSB−7)
つぎに、所望増加ビット量算出部32は、可変長符号化により得られた対象ブロックの符号量と、ステップSB−0で取得していた符号量とを合計して得られた符号量(つまりMBライン全体の符号量)をXとし、8を法とするXの剰余量、つまりX mod 8を計算する。そして、この剰余量と8との差を算出する。その結果が、ビットストリームのビット数についての所望増加量となる。
(図5のステップSB−8)
ついで、得られた所望増加量と、他の係数特性とを用いて、検索テーブル36から、TailCoeffに挿入されるべき調整係数列を検索して取得する。すなわち、検索テーブル36においては、増加ビット量に影響する各要因(本例では所望増加ビット量、LeftPartTotalCoeff、NeighborTotalCoeff)に基づいて、適切な調整係数列を検索できるようになっている。この検索についてはさらに後述する。
なお、ガード係数の位置(つまりGuardIndex)は、図8に示す検索テーブルの生成時に取得されるが、これについても後述する。
ここで、係数列の説明に用いられる用語について、下記表1に示す。
また、可変長符号化における符号化テーブルの選択要因となるパラメータと、本実施形態における措置とを下記表2に示す。
(図5のステップSB−3,SB−9,SB−5)
ついで、手順は再びステップSB−3に戻り、その後ステップSB−9に進む。さらに、調整係数列挿入部34は、検索テーブルから得られた調整係数列を、TailCoeffに挿入する。調整係数列が挿入されたブロック係数列に対して可変長符号化を行い、得られたビットストリームを出力する。このようにして得られたビットストリームを用いて、MBラインのビットストリームを構成することにより、バイトアラインメントを実行することができる。
本実施形態では、前記のようにして、バイトアラインメントを、簡便な手段で、実現することができる。さらに、任意のMBに属するブロックを対象として、前記したバイトアラインメントの処理を実行することができる。
また、本実施形態では、ブロック係数列にガード係数を挿入したので、TailCoeffを調整係数列に置換しても、符号化条件への影響を抑制できるという利点もある。ただし、CAVLCを前提にすると、ガード係数の値は2又は3となる。この点は後述する。
ここで、ガード係数挿入の利点について補足説明する。
実際の可変長符号化の際には、TotalCoeffとTrailingOnesの組合せであるCoeffTokenパラメータも符号化されるので、その符号量が全体ビットストリームの符号量に影響する。ガード係数挿入により、TailCoeffの変更によるCoeffTokenパラメータの符号量への影響を抑制することができる。但し、CoeffTokenの符号化テーブルは、隣接ブロックの非ゼロ係数個数の平均値(NeighborTotalCoeff)により決定するため、係数列全体が同一でも、NeighborTotalCoeffに応じてCoeffTokenの符号量は異なる。よって、あるLeftPartCoeffに対してあるビット量増加を実現するTailCoeffが存在する場合でも、NeighborTotalCoeffが異なると、同一のTailCoeffであっても、所望のビット量増加を実現することは出来ない。以上から、NeighborTotalCoeffが同じ(CoeffTokenを符号化するテーブルが同じ)であるならば、上記パラメータ設定により、LeftPartCoeffとTailCoeffを独立に考えることが可能となり、TailCoeffの係数列調整によって、それ以外の係数列(LeftPartCoeff,GuardCoeff)の符号化に影響を与えることなく1から7ビットの増加量を制御することが可能となる。
(図4のステップSA−6)
ついで、バイトアラインメント処理が行われたブロック係数列の可変長符号化により生成されたビットストリームを出力する。これらの処理自体は従来と同様でよいので、詳しい説明は省略する。
(図4のステップSA−7:検索テーブル生成手順)
次に、図8を参照して、調整係数列を検索するための検索テーブルの生成手順について説明する。なお、検索テーブルの生成は、前記した調整係数列の検索よりも前に行われる。
(図8のSC−1)
まず、前提として、GuardCoeffの値は2又は3に設定し、以下で使用する絶対値Aは3以下とする。また、ガード係数の位置(GuardIndex)は、この段階では任意の値であるが、この例では高周波側の値(本例では16)から順次検証していき、1〜7ビットのビット量増減値に対応できるGuardIndex(本実施形態では11)をみつける。以下、これらの理由を補足する。
・TailCoeffの数値定義域の絶対値Aの値を3以下とすること:
(理由)TailCoeffの絶対値の大きさによって、LeftPartCoeffのLevelに使用される符号化テーブルが変化するため、本設定値によりこれを抑制する。Levelの符号化テーブルはレベル値の絶対値の大きさが0,3,6,12,24,48を閾値として変化するため、LeftPartCoeffのLevelに使用される符号化テーブルをTailCoeffの調整と無関係にするためには、TailCoeffの係数値の絶対値の大きさが全て、前記閾値のうち3以下である必要がある。
・GuardCoeffの値は、絶対値2以上の係数とすること
(理由)本設定により、TrailingOnes, TrailingOnesFlag, RunBeforeパラメータの符号量をLeftPartCoeffとTailCoeffで独立することが出来る。絶対値0および1の場合、TrailingOnes, TrailingOnesFlag, RunBeforeの判定の際に、LeftPartCoeffの係数も対象とする可能性がある。そこで、GuardCoeffに絶対値2以上の係数を置くことでこれを抑制することができる。
・GuardIndexの値は11(最低 周波の係数インデックスを1とした場合)であること。
(理由)この設定値は、以下の説明する検索テーブルの生成に伴って得られるものである。詳しくは図8に示す通りであるが、以下において、概要を説明する。すなわち、上記二つの条件である、GuardCoeffが2、絶対値Aが3以下という設定の下、ブロック係数列末尾(つまり右端)の位置からGuardIndexの探索を始める。この場合、いかなる入力の組み合わせに対しても、1から7ビット全ての調整が可能なTailCoeffを生成できるGuardIndexが、GuardIndex=11のとき初めて見つかる。後述する処理負荷軽減および高速化を目的とした、事前生成によるTailCoeff検索テーブルの使用時においては、いかなる入力の組み合わせに対しても、1から7ビット全ての調整が可能なTailCoeffの生成が必要となるため、 GuardIndexの値として11は好ましいと言える。但し、例えばある入力係数列に対しては、GuardIndex が4のときに、1, 2, 5, 6ビットを調整することができ、GuardIndex が5のときに、2, 3, 5, 7ビットを調整することができるということも想定される。つまり、必要な調整ビット量に応じて、GuardIndexを切り替えて使用することも可能である。このため、GuardIndexの設定値としては、運用(実装)方法によって適切な値を設定することができる。
また、本例のFixedTailTotalCoeffは2に設定される。
なお、以下ではまず、LeftPartTotalCoeff(図7参照)を全て0とする。ここでは、LeftPartTotalCoeffは、検索テーブル作成のために任意に設定できることが前提である。
(図8のSC−2及びSC−3)
LeftPartTotalCoeffの値が「0からLeftPartTotalCoeff がとりうる最大値(GuardIndex位置に依存する)まで」の全てのケースにおいて、調整係数列の生成を行うため、LeftPartTotalCoeffがGuardIndexよりも小さい場合は、非ゼロ係数個数がLeftPartTotalCoeffとなるようなLeftPartCoeffを適宜に設定し、CAVLCの既定のテーブルインデックスを0とする。なお、このインデックスの最大値は、CAVLCにおいて3である。
(図8のSC−4及びSC−5)
CAVLCのテーブルインデックスが4より小さいときは、TailCoeffにBaseCoeffを設定して、可変長符号化を行う。そして、この符号化後のビット量をBaseCodeSizeとする。
(図8のSC−6)
ついで、絶対値Aとなる整数値をTailCoeffの各要素とした場合の、すべての組み合わせについて、ブロック係数列を可変長符号化する。つまり、(-3,-3,-3,-3,-3)から、(3,3,3,3,3)までの全ての組み合わせについて可変長符号化を行い、そのときの符号量をArrangeCodeSizeとする。そして、(ArrangeCodeSize - BaseCodeSize) mod 8の値を、IncreaseCodeSizeとする。
(図8のSC−7)
ついで、IncreaseCodeSizeとTailCoeffで構成される組を出力する。
(図8のSC−8)
TailTotalCoeffがFixedTailTotalCoeffと同じで且つ、IncreaseCodeSizeの1〜7ビット全てを満たすTailCoeffが存在するか判定する。判定がYesであればステップSC−9に進む。なお、本例では、FixedTailTotalCoeffの値は2に固定される。つまり、非ゼロ係数個数が2以外の調整係数列は破棄されることになる。ここで、TailTotalCoeffをFixedTailTotalCoeffに固定するのは、以下の理由による。すなわち、可変長符号化のためのテーブル(VLCテーブル)は、TailCoeffによって変わる(他の要因も存在する)。TotalCoeffは、LeftPartTotalCoeffとGuardTotalCoeffとTailTotalCoeffとの和であり、GuardTotalCoeffは本例では1になる。よって、TailTotalCoeffを固定することにより、TotalCoeffに関してはLeftPartTotalCoeffの影響だけを考慮すれば良い。LeftPartTotalCoeffは検索テーブルの索引となる。
(図8のSC−9)
ついで、IncreaseCodeSizeとTailCoeffで構成される組(調整係数列候補)が、IncreaseCodeSizeの1〜7ビット各々において、複数ある場合には、画質劣化への影響を考慮し以下の基準のもと、一つの調整係数列を選択する。これらの基準を採用したのは、視覚的な影響をなるべく低減させるためである。
・係数列レベル値の加算合計が低い。
・係数がより高周波成分である。
(図8のSC−10)
ついで、LeftPartTotalCoeff, VLCTableIndex, IncreaseCodeSize, TailCoeffからなる組を、検索テーブルに登録する。
(図8のSC−11)
ついで、VLCのTableIndexに1を加えて、ステップSC−4に戻る。
(図8のSC−12)
ステップSC−8での判断がNoであれば、いかなる入力の組み合わせに対しても、1から7ビット全ての調整が可能なTailCoeffの生成を必要とする条件を満たしていないため、検索テーブルを破棄し、GuardIndex及びFixedTailTotalCoeffのいずれかを再設定する。GuardIndexの再設定を行う場合は、本実施形態では、GuardIndexの値を一つ少なくする。この繰り返しにより、GuardIndexの適切な値を探索することができる。
(図8のSC−13)
ステップSC−4での判断がNoであれば、LeftPartTotalCoeffに1を加えて、ステップSC−2に戻る。これを繰り返すことにより、全てのLeftPartTotalCoeffについて、対応した検索テーブルを生成することができる。
以上の処理により、図3に示す検索テーブルを生成することができる。
(第2実施形態)
次に、第2実施形態に係るバイトアラインメント手順を、図9をさらに参照して説明する。
前記した第1実施形態では、バイトアラインメントを行うブロック(つまり対象ブロック)を、MB中の最終ブロックとしていた(図9(a)参照)。この場合は、対象ブロックを参照するブロックがないので、前記した係数列調整を行なっても、参照不一致による画質劣化の恐れはない。
しなしながら、仮に、最終ブロック以外のブロックをバイトアラインメントの対象とした場合には、このブロックを参照するブロックがあるために、参照情報の制限ないし固定が必要となる。ただし、これらの制限及び固定は、これらのブロックの符号化モードがintra 4x4である場合にのみ必要となる。
以降の説明では、図9(b)に示すb11ブロックが係数列調整の対象であると仮定する。すると、これに隣接するb12(右隣接)、b15(下隣接)、b16(斜め下隣接)のブロックについては、図9(b)に示すような、符号化モードの固定ないし制限が必要となる。さらに、b12とb15のブロックについては、b11のTotalCoeffが固定値であると仮定して符号化を行い、符号化条件の不整合を防止している。
なお、本発明は、前記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加え得るものである。
例えば、前記した各構成要素は、機能ブロックとして存在していればよく、独立したハードウエアとして存在しなくても良い。また、実装方法としては、ハードウエアを用いてもコンピュータソフトウエアを用いても良い。さらに、本発明における一つの機能要素が複数の機能要素の集合によって実現されても良く、本発明における複数の機能要素が一つの機能要素により実現されても良い。
また、本発明を構成する各機能要素は、離散して存在しても良い。離散して存在する場合には、例えばネットワークを介して必要なデータを受け渡すことができる。各部の内部における各機能も、同様に、離散して存在することが可能である。例えば、グリッドコンピューティングやクラウドコンピューティングを用いて、本実施形態における各機能要素あるいはその一部分を実現することも可能である。
1 整数精度変換部
2 量子化部
3 バイトアラインメント処理部
31 基準係数列挿入部
32 所望増加ビット量算出部
33 調整係数列検索部
34 調整係数列挿入部
35 ガード係数挿入部
36 検索テーブル(検索DB)
4 可変長符号化部

Claims (7)

  1. ブロック係数列を可変長符号化して得られるビットストリームに対してバイトアラインメントを行うための装置であって、
    基準係数列挿入部と、所望増加ビット量算出部と、調整係数列検索部と、調整係数列挿入部とを備えており、
    前記基準係数列挿入部は、量子化されたブロック係数列のうちの高周波成分である調整係数列を、既定の基準係数列に置換する構成となっており、
    前記所望増加ビット量算出部は、前記調整係数列が前記基準係数列に置換された前記ブロック係数列を可変長符号化して得られるビットストリームの符号量に基づいて、バイトアラインメントのために増加させるべきビット量を算出する構成となっており、
    前記調整係数列検索部は、前記増加させるべきビット量に基づいて、前記基準係数列に置換されるべき適切な調整係数列を検索する構成となっており、
    前記調整係数列挿入部は、検索された前記調整係数列を前記基準係数列に対応する高周波成分に挿入する構成となっている
    バイトアラインメント装置。
  2. さらにガード係数挿入部を備えており、
    前記ガード係数挿入部は、前記ブロック係数列における前記高周波成分係数列よりも1次数だけ低周波側に位置する係数を、ガード係数に置換する構成となっており、
    前記ガード係数は、前記ガード係数よりも低周波側の係数の値による、前記ビットストリームの符号量への影響を抑制するものである
    請求項1に記載のバイトアラインメント装置。
  3. 前記調整係数列検索部は、前記増加させるべきビット量に加えて、可変長符号化後のビットストリームの符号量に影響する要因に基づいて、前記適切な調整係数列を検索する構成となっている
    請求項1又は2に記載のバイトアラインメント装置。
  4. さらに検索DBを備えており、
    前記検索DBは、前記増加させるべきビット量、及び/又は、可変長符号化後のビットストリームの符号量に影響する要因に基づいて、前記適切な調整係数列を検索できる構成となっている
    請求項1〜3のいずれか1項に記載のバイトアラインメント装置。
  5. 請求項1〜4のいずれか1項に記載のバイトアラインメント装置と、可変長符号化部とを備えており、
    前記可変長符号化部は、前記バイトアラインメント装置によるバイトアラインメント処理の対象となる対象ブロックに隣接する隣接ブロックの係数列を可変長符号化する際には、
    前記対象ブロックの符号化における予測モードの制限、及び/又は、符号化に用いる係数値の固定を行う構成となっている
    ビットストリーム生成装置。
  6. ブロック係数列を可変長符号化して得られるビットストリームに対してバイトアラインメントを行うために用いるビットストリーム生成方法であって、
    量子化されたブロック係数列のうちの高周波成分である調整係数列を、既定の基準係数列に置換するステップと、
    前記調整係数列が前記基準係数列に置換された前記ブロック係数列を可変長符号化して得られるビットストリームの符号量に基づいて、バイトアラインメントのために増加させるべきビット量を算出するステップと、
    前記増加させるべきビット量に基づいて、前記基準係数列に置換されるべき適切な調整係数列を検索するステップと、
    検索された前記調整係数列を前記基準係数列に対応する高周波成分に挿入するステップと
    を備える、ビットストリーム生成方法。
  7. 請求項6に記載の方法をコンピュータに実行させるためのコンピュータプログラム。
JP2011236672A 2011-10-28 2011-10-28 バイトアラインメント装置及びバイトアラインメント方法 Active JP5685683B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2011236672A JP5685683B2 (ja) 2011-10-28 2011-10-28 バイトアラインメント装置及びバイトアラインメント方法
KR20147010898A KR20140098063A (ko) 2011-10-28 2012-10-17 바이트 얼라인먼트 장치 및 바이트 얼라인먼트 방법
SG11201401801SA SG11201401801SA (en) 2011-10-28 2012-10-17 Byte alignment device, and byte alignment method
EP12844450.2A EP2773110A4 (en) 2011-10-28 2012-10-17 BYTE ALIGNMENT DEVICE AND BYTE ALIGNMENT PROCESS
IN3190DEN2014 IN2014DN03190A (ja) 2011-10-28 2012-10-17
US14/354,915 US20140269929A1 (en) 2011-10-28 2012-10-17 Byte Alignment Device and Byte Alignment Method
PCT/JP2012/076815 WO2013061840A1 (ja) 2011-10-28 2012-10-17 バイトアラインメント装置及びバイトアラインメント方法
CN201280053102.9A CN103907356A (zh) 2011-10-28 2012-10-17 字节对齐装置以及字节对齐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011236672A JP5685683B2 (ja) 2011-10-28 2011-10-28 バイトアラインメント装置及びバイトアラインメント方法

Publications (2)

Publication Number Publication Date
JP2013098596A JP2013098596A (ja) 2013-05-20
JP5685683B2 true JP5685683B2 (ja) 2015-03-18

Family

ID=48167673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011236672A Active JP5685683B2 (ja) 2011-10-28 2011-10-28 バイトアラインメント装置及びバイトアラインメント方法

Country Status (8)

Country Link
US (1) US20140269929A1 (ja)
EP (1) EP2773110A4 (ja)
JP (1) JP5685683B2 (ja)
KR (1) KR20140098063A (ja)
CN (1) CN103907356A (ja)
IN (1) IN2014DN03190A (ja)
SG (1) SG11201401801SA (ja)
WO (1) WO2013061840A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10104142B2 (en) 2013-08-08 2018-10-16 The University Of Electro-Communications Data processing device, data processing method, program, recording medium, and data processing system
CN107608714B (zh) * 2017-09-30 2020-06-30 广州酷狗计算机科技有限公司 字节对齐方法、装置及计算机可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150208A (en) * 1990-10-19 1992-09-22 Matsushita Electric Industrial Co., Ltd. Encoding apparatus
KR0128245B1 (ko) * 1992-10-07 1998-04-02 배순훈 화면 분할 기능을 갖는 디지탈 방식 고선명 텔레비젼
US5363098A (en) * 1993-10-25 1994-11-08 Digital Equipment Corporation Byte aligned data compression
JP3153404B2 (ja) * 1994-02-02 2001-04-09 松下電器産業株式会社 ディジタルビデオ・ビットストリームコーダ
FR2722041B1 (fr) * 1994-06-30 1998-01-02 Samsung Electronics Co Ltd Decodeur de huffman
DE69612515T2 (de) * 1995-01-09 2001-08-23 Matsushita Electric Ind Co Ltd Digitale Kodierungsvorrichtung
JP3662129B2 (ja) * 1997-11-11 2005-06-22 松下電器産業株式会社 マルチメディア情報編集装置
JP3880597B2 (ja) * 1997-11-11 2007-02-14 松下電器産業株式会社 マルチメディア情報編集装置
ES2555953T3 (es) * 2000-01-28 2016-01-11 Opentv, Inc. Sistema y método de televisión interactivo para transmisión y reproducción simultáneas de múltiples corrientes de vídeo codificadas
JP2001285861A (ja) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp 画像信号符号化装置
KR101030903B1 (ko) * 2001-11-22 2011-04-22 파나소닉 주식회사 부호화 방법 및 부호화 장치
JP2005102251A (ja) * 2004-10-18 2005-04-14 Ricoh Co Ltd 画像処理装置
WO2009093647A1 (ja) * 2008-01-24 2009-07-30 Nec Corporation 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置

Also Published As

Publication number Publication date
US20140269929A1 (en) 2014-09-18
KR20140098063A (ko) 2014-08-07
SG11201401801SA (en) 2014-08-28
EP2773110A4 (en) 2015-03-25
JP2013098596A (ja) 2013-05-20
IN2014DN03190A (ja) 2015-05-22
EP2773110A1 (en) 2014-09-03
WO2013061840A1 (ja) 2013-05-02
CN103907356A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
US8126062B2 (en) Per multi-block partition breakpoint determining for hybrid variable length coding
JP5590133B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
JP4295356B1 (ja) 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
JP5925801B2 (ja) 符号化方法、復号方法、符号化装置、及び復号装置
US20150103893A1 (en) Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
US20080219578A1 (en) Method and apparatus for context adaptive binary arithmetic coding and decoding
US8576915B2 (en) Position coding for context-based adaptive variable length coding
WO2011043970A1 (en) Locally variable quantization and hybrid variable length coding for image and video compression
US7528749B2 (en) Decoding apparatus and decoding method
JP5685683B2 (ja) バイトアラインメント装置及びバイトアラインメント方法
Chan et al. Using four hypothesis probability estimators for CABAC in versatile video coding
CN108429911B (zh) 一种高效视频编码率失真优化量化方法
JP2010130522A (ja) 動画像符号化装置及び動画像符号化方法
Zhou et al. Comments on" A Novel Compression and Encryption Scheme Using Variable Model Arithmetic Coding and Coupled Chaotic System
Wang et al. Low complexity quantization in high efficiency video coding
JP2006279491A (ja) 画像符号化装置
JP6262381B2 (ja) 電子機器、復号方法及びプログラム
Cui et al. An optimized probability estimation model for binary arithmetic coding
US7720300B1 (en) System and method for effectively performing an adaptive quantization procedure
JP2024515888A (ja) 複数シンボル算術コーディングのための方法、デバイス及び記憶媒体
JP6132950B2 (ja) 符号化方法、復号方法、符号化装置、及び復号装置
JP5230375B2 (ja) 画像符号化装置及び画像符号化方法
JP5194082B2 (ja) 画像符号化装置
Heo et al. VLC table prediction for CAVLC in H. 264/AVC using correlation, statistics, and structural characteristics of mode information
FARSI et al. Joint Source and Channel Coding for MPEG-4 using Steganography of Channel Coding Information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140317

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140317

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140618

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140728

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20141009

R150 Certificate of patent or registration of utility model

Ref document number: 5685683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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