JP5289333B2 - データストリームを生成し、データストリーム内の位置を識別する方法 - Google Patents
データストリームを生成し、データストリーム内の位置を識別する方法 Download PDFInfo
- Publication number
- JP5289333B2 JP5289333B2 JP2009549554A JP2009549554A JP5289333B2 JP 5289333 B2 JP5289333 B2 JP 5289333B2 JP 2009549554 A JP2009549554 A JP 2009549554A JP 2009549554 A JP2009549554 A JP 2009549554A JP 5289333 B2 JP5289333 B2 JP 5289333B2
- Authority
- JP
- Japan
- Prior art keywords
- stream
- marker
- data
- binary
- variable length
- 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
Links
- 238000000034 method Methods 0.000 title claims description 54
- 239000003550 marker Substances 0.000 claims description 88
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4092—Image resolution transcoding, e.g. by using client-server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/68—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
前記電子デバイスは、例えば携帯電話機、携帯情報端末、パームトップ、又は画像処理の点で処理能力が低い他のデバイスとすることができる。例えば、画像を閲覧するためのディスプレイを有する多数の前記電子デバイスは、連続して提示されるビューの間で頻繁に発生する悩ましい遅延を伴うことなく、ズーム、パンなどの操作を行なうために十分な処理能力を持っていない。この結果、画像の連続的なズームイン又はズームアウトは、長い画像間遅延を伴って提示される複数の画像と感じられる。従って、連続的にズームしているという実感が得られず、ユーザにイライラ感を生じさせる。この結果、ユーザによる処理間違い、又は入力間違いが発生する恐れもある。
本発明の一態様によれば、上の目的は、可変長符号化方式により符号化されたデータストリームを生成する方法により達成される。本方法は、複数のコードワードを含む一つのデータストリームのコードワードを可変長符号化方式に従って符号化するステップと、データストリーム内の符号化コードワードの間に分割マーカを挿入するステップとを含む。
一実施形態では、前記分割マーカを挿入するステップは、少なくとも16個の連続するバイナリ1を特定のコードワードの後に挿入することにより行なわれる。別の実施形態では、分割マーカを挿入するステップは、16個の連続するバイナリ1ではなく、16個の連続するバイナリ0を挿入することにより行なわれる。16個の連続するバイナリ1又はバイナリ0を含むマーカを使用することにより、当該マーカのサーチを、高速且つ効率的に行なうことができる。この理由は、マーカをバイトレベルで、すなわち8ビット単位で検出することが可能になるからである。バイトレベルでの検出は、可変長コードのデータストリーム内のマーカの一部、すなわち16個の連続するバイナリ1又は0が、必ずバイナリ1又はバイナリ0のみを含むバイトによって表わされることにより可能である。
更に別の実施形態によれば、前記分割マーカを挿入するステップは、少なくとも16個の連続するバイナリ1を、2つ以上の特定のコードワードの間に挿入することにより行なわれる。
上に説明した実施形態の一つに関して述べたように、分割マーカを挿入することによって、可変長コードのデータストリームへの部分的アクセスが容易になる。例えば、可変長符号化により符号化された画像の、任意エリアを表わす画像データへのアクセスを高速化することが可能になる。更に、マーカによって、可変長コードのデータストリーム内のデータの一部を形成するデータに、アクセス対象のデータよりも前に配置される全ての単一コードを復号化する必要なくアクセスすることができる。これにより、時間及び処理容量の両方を節約することができる。同じ利点が、マーカを使用して、同じ転送媒体又は記憶媒体を共有する個別データストリーム、例えば多重化データストリームを示す場合に得られる。更に、マーカで一つのデータブロックを識別することにより、個々のデータブロックへのアクセスが容易になり、実行速度が有意に高速化される。
別の実施形態では、前記分割マーカを符号化するステップ、及び前記分割マーカを挿入するステップをハードウェアによって行う。これにより、マーカの挿入が高速化される。
別の実施形態によれば、データブロックの符号化はJPEG規格に従って行なわれ、各データブロックはJPEG規格に準拠した一つのデータユニットに対応する。JPEGデータブロックを含むデータストリームに前記マーカを挿入することにより、符号化データストリームで表わされる画像の特定部分へのアクセスが高速化され、且つ当該アクセスに必要な処理容量が減少する。従って、画像の一部に対する操作が容易に行われる。
所定のマーカを可変長コードのデータストリーム内で使用して、データストリーム内の注目位置を識別することにより、データストリーム全体を復号化して同位置を検出しようとする場合よりも、この位置へのアクセスに必要な時間と処理容量とが低減される。例えば、可変長符号化により符号化された画像の任意エリアを表わす画像データへのアクセスを高速化することが可能になる。
特定の実施形態によれば、本方法は更に、可変長コードのストリーム内の少なくとも一つの更に別の所定のマーカの位置を識別するステップと、可変長コードのストリーム内の特に注目される前記少なくとも一つの更に別のコードワードの開始位置を計算するステップと、特に注目される少なくとも一つの更に別のコードワードに関連するデータを取り出すステップとを含む。複数のマーカが識別されてデータストリームの復号化に使用されるので、当該プロセスに必要な時間及び処理能力が共に低減される。
更に別の実施形態によれば、特に注目されるコードワードに関連するデータを取り出すステップは、特定のコードワードで表わされる値を取り出すことを含む。この実施形態によって、使用頻度が更に低い特定の値へのアクセスが高速化される。例えば、保存されないと推測される画像に対して操作を行なう場合に、特定の値へのアクセスが高速化される。
他の幾つかの実施形態では、本発明の第1の態様に関連して述べたマーカに対応するマーカ、及び本発明の第1の態様に関連して述べたマーカに先行するコード配列は、本発明の第2の態様による方法に使用される場合、ほぼ同じ利点をもたらす。
別の実施形態によれば、所定のシンボルはエンドオブブロックシンボル、EOBである。
別の方法によれば、可変長コードのストリームは複数のコードワードを含むデータブロックを含み、特に注目されるコードワードは一つのデータブロックの先頭のコードワードであるので、特に注目されるコードワードの開始位置の計算が、前記データブロックの開始位置の計算に一致する。マーカにより、一つのデータブロックの末尾、及び別のデータブロックの先頭を識別することにより、個々のデータブロックへのアクセスが容易となり、その実行が有意に高速化される。
本発明の種々の実施形態は、データブロックが、VLC方式又はエントロピー符号化方式、例えばハフマン符号化、算術符号化などにより符号化される、あらゆる種類のデータストリームに適用することができる。これらの符号化方式は情報を圧縮するように設計されており、これらの符号化方式を使用する一つの効果は、符号化データストリーム内のコードワードとも呼ばれる全てのシンボルが、同じコード長を有する訳ではないことである。
本出願に関連して、シンボルとは、ユニットの集合の中の一つのユニットを意味し、この場合各ユニットは、それぞれに割り当てられた個別ビットコードを有する。本出願では、データブロックとは、相対的に長いデータストリームの一部、例えば画像データの一部、オーディオストリームの一部、画像ストリームの矩形画像ブロックなどを表わす何らかのデータを意味する。
これにより、シンボルの全てを処理することにより異なる信号の間の境界を検出しなければならないため、受信側エンドで信号を分離する際に大きな困難が生じる。
更に別の実施形態では、2つ以上の信号を単一の通信チャネルで送信できることが望ましい。これは普通、2つ以上の信号を交互に並べて、第1信号のnビットをまず送信し、次に第2信号のmビットを送信し、次に第1信号のbビットを送信するなどすることにより行なうことができる。
可変長符号化ストリームは、異なるビット長のシンボルにより構成される。以下のシンボルは、例えば以下のコードワードによって表わすことができる:
A=10
B=110
C=111
D=0000
E=0001
次のシンボル「CBCDBEDCABCBECB」に対応するビットストリームは以下のようになる。
11111011 10000110 00010000 11110110 11111000 01111110
このアプローチの問題は、特に多数のシンボルを処理する必要がある場合,
ソフトウェアで実行するのに非常に長い時間を要することである。
16進数で記述される同じビットストリームは以下の表現に対応する。
FB 86 10 F6 F8 7E
ビットマーカは、8の整数倍であり且つ少なくとも16ビット長である長さの、一連のバイナリ1により構成することができる。最も注目すべきマーカは、16個のバイナリ1、すなわち11111111 11111111により構成される。
従って、結果として得られるビットストリームは次のようになる。
1111101110000110000100001111011111111111111111101111100001111110
16進数で記述される同じビットストリームは以下のようになる。
FB 86 10 F7 FF FE F8 7E
これは、連続バイトとしてビットストリーム内にバイトFFの位置を容易に特定することができ、次いで簡単な算術論理を使用することにより、マーカを削除し、元のストリームを復元することができることを意味する。
FB 86 10 (F7 FF FE) F8 7E
バイナリ値で記述されたF7 FF FEは以下のようになる。
又は、更に一般的に、
元のバイト = B1 & B3 = abcde111 & 11111fgh = abcdefgh
結果として得られるストリームは次のようになる。
FB 86 10 (F7&FE) F8 7E = FB 86 10 F6 F8 7E
これは、「FF」の左側の最初のゼロを検出することにより、ゼロを含むシンボルの外観及び/又はコードを認識し、次に当該シンボルの末尾の位置を計算することにより行なうことができる。
これを可能にする別の方法は、既知のシンボルを有する全ての可能なエントリが、ビット位置(p)をテーブル内の値で入力される場合、「FF」の前のバイトに対応する256個のエントリのルックアップテーブルを使用することにより行うことである。
16個の1の前の既知のシンボルが10であると仮定すると、バイト1(Byte 1)は以下に示す値しか採ることができず、xはバイナリ1及びバイナリ0の全ての順列であり、pは16個の1の最初のビットを示している。
Byte1 Byte2
xxxxxx10 p1111111, 64個の順列, pos = 8
xxxxx10p 11111111, 32個の順列, pos = 7
xxxx10p1 11111111, 16個の順列, pos = 6
xxx10p11 11111111, 8個の順列, pos = 5
xx10p111 11111111, 4個の順列, pos = 4
x10p1111 11111111, 2個の順列, pos = 3
10p11111 11111111, 1個の順列, pos = 2
0p111111 11111111, 1個の順列, pos = 1
上の実施例では、F7(11110111)を調べると、pos=6, (111101p11==111101111)が得られる。
この目的のために使用するのに非常に良いコードは、「00000000」である。その理由は、マーカを削除するときにこのコードをビットマスクとして使用することができるからである。すなわち、
K = 0000 0000
バイト単位で並べると、変形ストリームは次のように現われる。
11111011 10000110 00010000 11110000 00000111 11111111 11111110 11111000 01111110
16進数で表すと、このストリームは以下のようになる。
FB 86 10 (F0 07 FF FE) F8 7E
シンボルKは、当該シンボルの最初のバイナリゼロを右側から数えて最初の位置に有するので、シンボルKの前のシンボルの末尾は、検出されたバイナリゼロの左側まであと7個の位置になる。
F0 07 FF FE = 11110000 00000111 11111111 11111110
11110000 0000x111 11111111 11111110
当該出現が検出された後、検出されたバイナリゼロの左側の7ビットから始まる、rでマークされた次の24ビットを削除する。
11110rrr rrrrrrrr rrrrrrrr rrrrr110
1111110 = F6
よって、結果として得られた合計バイトアレイは元のストリームになる。
FB 86 10 F6 F8 7E
結果としてバイナリストリームは以下のようになる。
101101110000110101100001000011100011101000010000
101111101101011100001011000001000001100001111110
16進数で表すと以下のようになる。
B7 0D 61 0E 3A 10 BE D7 0B 04 18 7E
本発明の実施形態では、2つのストリームを更に効率的な方法で分離することを可能にするために特殊マーカを利用する。普通、マーカを挿入する方式は、以下の実施例におけるよりもずっと少ない頻度でしか行なわれないので、非常に大きいオーバーヘッドは必要ない。
B7 0C 01 FF FE 21 7C 01 FF FE 18 7E
B0 87 1D 00 7F FF FB 85 82 00 FF FF
B7 0C 01 FF B0 87 1D 00 7F FF FE 21 7C 01 FF EB 85 82 00 FF FF FE 18 7E
次に、受信側では、ストリームを分離するために、ストリームをFFで分離し、上のプロセスを逆に進める。
ストリーム(Stream)A: B7 0C 01 FF FE 21 7C 01 FF FE 18 7E
ストリーム(Stream)B: B0 87 1D 00 7F FF EB 85 82 00 FF FF
B = (b1|b2)&b4
ストリームA: B7 0C 01 FF FE 21 7C 01 FF FE 18 7E
ストリームB: B0 87 1D 00 7F FF EB 85 82 00 FF FF
上のストリームは以下のようになる。
ストリームA: B7 (0C|01)&FE 21 (7C|01)&FE 18 7E = B7 0C 21 7C 18 7E
ストリームB: B0 87 1D (00|7F)&EB 85 (82|00)&FF = B0 87 1D 6B 85 82
これらのストリームが元のストリームである。受信側における分離演算は、いかなるビット演算又は可変長符号化も行なうことなく完全に行なわれた。
更に、コードワードが、復号化することにより既に符号化されているユニットを生成することができる一連のビットを意味することに留意されたい。全てのコードワードが同じ長さである訳ではない。この事実に関係なく、これらのコードワードは、厳密に単一シンボルの可変長表現を意味する訳ではない。このような更に複雑なコードワードの例が、jpegストリームに使用されるコードワードである。ここに定義されるJPEGコードワードにより、非ゼロ数が後に続く連続したゼロが符号化され、零ランレングスを表現するシンボルと非ゼロ数の絶対値との組み合わせの後に、当該絶対値に基づいた数の最下位ビットが続く。
コードワードとして解釈されるべき他のサブセットは、最下位ビットを表わすビット、又は非ゼロ数の絶対値と、零ランレングスを表現するシンボルとの組み合わせである。
幾つかのアプリケーションでは、DUのビット位置を認識することが非常に有用である。
2)DU位置が既知である場合、いずれのデータユニット(DU)にもランダムにアクセスすることができる。絶対DC係数も既知である場合、先行ブロックを復号化する必要なくJPEGの一領域を復号化することができる。
1)EOBが必ず生成されるようにHWを変更する。別の構成として、精巧なQテーブルを使用して、HWが必ず末尾にEOBを付加することを保証する。ゼロが必ず量子化係数nr64に挿入される場合、ハードウェアはEOBを挿入しなければならない。
2)各FFが、元のハフマン符号化ストリームに現われる場合に、末尾「00」を必ず挿入する。これは既に、有効なJPEGストリーム内で行なわれている。
3)各DU(又は、EOB)の後に、複数の8であって、但し少なくとも16個のバイナリ1を付加する。
この実施形態の一実施例として、正しいEOB及び新規EOBは、与えられた正しいEOBに対する上述の調整を考慮すると、以下のようになる。
正しいEOB: 1010
新規EOB: 1010111111111111
この方式により、上のEOBの例と、上のテーブルの3番目のDCである新規DCの例を使用すると、3番目のDCと組み合わせたEOBは、「1010 1111111111111111 010」に対応する。従って、結果は、EOBの後に16個のバイナリ1を付加した場合と同じとなる。
この実施例では、以下のハフマンテーブルを使用する。
A=10(EOB)
B=110
C=111
D=0000
E=0001
11111011 10000110 00010000 11110110 11111000 01111110 …
FB 86 10 F6 F8 7E
下線で示す位置はEOBを示している。
11111011 10000110 00010000 11110111 11111111 11111110 11111000 01111110 …
FB 86 10 F7 FF FE F8 7E
次に、復号化の一実施例を示す。この復号化はソフトウェアで行なうことができる。
次に、EOBシンボル(この例では、10)に向かって検索を絞り込み、次のDUの開始位置がEOBのすぐ後に検出される。
11111011 10000110 00010000 11110110 11111000 01111110 …
FB 86 10 F7 FF FE F8 7E
FB 86 10 F6 F8 7E
上記から分かるように、1バイトのみを変更すればよく、2バイトを削除する必要があり、これらのバイトの残りのバイトのワードは既に正しく配列されている。
FB 86 10 F7 FF FE F8 7E
FB 86 10 F6 F8 7E
FB 86 10 F7 FF FF FF FE F8 7E
FB 86 10 F6 F8 7E
2バイトを結合して1バイトにするプロセスは極めて簡単でもある。
FB 86 10 F7 FF FE F8 7E
FB 86 10 F6 F8 7E
Byte1 = F7
Byte2 = FE
JoinedByte = Byte1 & Byte2
上の表現は、以下の例を考察すると更に見易くなる。
abcde111 11111111 11111fgh
Byte1 = abcde111
Byte2 = 11111fgh
JoinedByte = abcde111 & 11111fgh = abcdefgh
アルゴリズムを変更して、各DUのDC係数の検出に使用することができる。次に、DC係数を復号化することにより、各DCのデータを使用して、画像の8分の1縮小版を生成することができる。同じ操作を、4分の1縮小版が必要になる場合に行なうことができ、この場合、DC係数及び多数の後続のACを復号化することにより、これらの係数に対して2x2 IDCTを行なうことが可能になる。マーカでDC係数の位置を示すことにより、他の係数をハフマン復号化する操作をスキップすることができるので、撮影瞬間における小型スクリーンに合わせた画像の縮小を高速化することができる。この実施形態は、縮小画像を表示するプロセスを高速化するために、いずれのアプリケーションにおいても利用することができる。
上の実施例では、マーカを少なくとも16個のバイナリ1に設定する。マーカは、少なくとも16個のバイナリ0、すなわち0000000000000000に設定することもできる。マーカを16個のバイナリ0に設定する場合、マーカの前に挿入される既知コードは「11111111」とすることができる。従って、コード000000001111111111111111が111111110000000000000000に反転される。
最後に、プロセッサは、任意で、コンピュータ又は電気通信ネットワーク、例えばインターネットネットワーク、又はイントラネットネットワークに、ネットワーク接続を使用して接続することができ、これを介して、プロセッサは、上述の方法ステップを実行する過程でネットワークに情報を出力することができるか、又はネットワークから情報を受信することができる。プロセッサを使用して実行される命令のシーケンスとして表現されることが多いこのような情報は、例えば搬送波内に具体化されるコンピュータデータ信号の形態で、ネットワークから受信し、ネットワークに出力することができる。上に説明したデバイス及び材料には、コンピュータハードウェア及びソフトウェア分野の当業者にとって周知である。
本発明の多数の実施形態について説明した。しかしながら、本発明の思想及び範囲から逸脱せずに種々の変更を加えることができる。
Claims (12)
- 装置のプロセッサによりコンピュータプログラムが実行されることにより、前記装置が実行する方法であって、可変長符号化方式により符号化されたデータストリームを生成する方法において:
複数のコードワードを含むデータストリームのコードワードを可変長符号化方式に従って符号化することと;
データストリーム内の符号化されたコードワードの間に分割マーカを挿入することと;
を含み、前記分割マーカを挿入することが、少なくとも16個の連続するバイナリ1、または少なくとも16個の連続するバイナリ0を特定のコードワードの後に挿入することにより行なわれる方法。 - 前記特定のコードワードがデータブロックの末尾のコードワードである、請求項1に記載の方法。
- 装置のプロセッサによりコンピュータプログラムが実行されることにより、前記装置が実行する方法であって、可変長符号化方式により符号化されたデータストリームを生成する方法において:
複数のデータブロックを含むデータストリームのデータブロックを可変長符号化方式に従って符号化することと;
データストリーム内の符号化されたデータブロックの間に分割マーカを挿入することと;
を含み、前記分割マーカが、少なくとも16個の連続するバイナリ1からなるバイナリ配列、または少なくとも16個の連続するバイナリ0からなるバイナリ配列である、方法。 - 前記分割マーカを挿入することが更に、先行ブロックが符号化された後且つ次の符号化データブロックが先行データブロックに付加される前の一つの時点で、前記分割マーカを挿入することを含む、請求項3に記載の方法。
- 可変長符号化方式により符号化されたデータストリームを生成する装置であって、
複数のコードワードを含むデータストリームのコードワードを可変長符号化方式に従って符号化する手段と;
データストリーム内の符号化されたコードワードの間に分割マーカを挿入する手段と;
を備え前記分割マーカを挿入する手段は、少なくとも16個の連続するバイナリ1、または少なくとも16個の連続するバイナリ0を特定のコードワードの後に挿入することにより、前記分割マーカを挿入するように構成される、装置。 - 前記データストリームに分割マーカを挿入することを、可変長符号化方式により符号化されているデータストリームに関連付けて実行するように構成される、請求項5に記載の装置。
- 装置のプロセッサによりコンピュータプログラムが実行されることにより、前記装置が実行する方法であって、可変長コードのストリーム内の特に注目されるコードワードに関連するデータを取り出す方法において:
可変長コードのストリーム内の所定の分割マーカの位置を識別することであって、可変長コードのストリーム内の、分割マーカの隣に配置される所定のシンボルを識別することを含み、所定のシンボル及び所定の分割マーカの一方から他方への移行部分をマーカの位置として識別する、ことと;
前記可変長コードのストリーム内の特に注目されるコードワードの開始位置を計算することと;
特に注目されるコードワードに関連するデータを取り出すことと;
を含み、前記所定の分割マーカが、少なくとも16個の連続するバイナリ1からなるバイナリ配列、または少なくとも16個の連続するバイナリ0からなるバイナリ配列である、方法。 - 前記特に注目されるコードワードに関連するデータを取り出すことが、データストリーム内の特に注目されるコードワードの計算された開始位置を取り出すことと、この開始位置を可変長コードのストリームの特徴のリストに挿入することとを含む、請求項7に記載の方法。
- 前記特に注目されるコードワードに関連するデータを取り出すことが、特定のコードワードで表わされる値を取り出すことを含む、請求項7に記載の方法。
- 前記可変長コードのストリームが画像の圧縮表現であり、前記特に注目されるコードワードが前記可変長コードのストリーム内のデータユニットのDC係数である、請求項9に記載の方法。
- 装置のプロセッサにより実行されることにより、前記装置に、請求項1から4および7から10のいずれか1項に記載の方法を実行させるプログラム命令を備える、コンピュータプログラム。
- プロセッサと、コンピュータプログラムを格納するメモリとを備える装置であって、前記コンピュータプログラムは、前記プロセッサにより実行されることにより、請求項1から4および7から10のいずれか1項に記載の方法を前記装置に実行させるプログラム命令を有する、装置。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0700446-8 | 2007-02-16 | ||
SE0700446A SE533185C2 (sv) | 2007-02-16 | 2007-02-16 | Metod för behandling av en digital bild samt bildrepresentationsformat |
US89143907P | 2007-02-23 | 2007-02-23 | |
US60/891,439 | 2007-02-23 | ||
SE0701690A SE531398C2 (sv) | 2007-02-16 | 2007-07-11 | Generering av en dataström och identifiering av positioner inuti en dataström |
SE0701690-0 | 2007-07-11 | ||
PCT/SE2008/000125 WO2008100206A1 (en) | 2007-02-16 | 2008-02-15 | Generating a data stream and identifying positions within a data stream |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010519806A JP2010519806A (ja) | 2010-06-03 |
JP2010519806A5 JP2010519806A5 (ja) | 2011-03-31 |
JP5289333B2 true JP5289333B2 (ja) | 2013-09-11 |
Family
ID=39690338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009549554A Active JP5289333B2 (ja) | 2007-02-16 | 2008-02-15 | データストリームを生成し、データストリーム内の位置を識別する方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7652595B2 (ja) |
EP (1) | EP2123053B1 (ja) |
JP (1) | JP5289333B2 (ja) |
KR (1) | KR101463279B1 (ja) |
IL (1) | IL200413A0 (ja) |
SE (1) | SE531398C2 (ja) |
WO (1) | WO2008100206A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7082450B2 (en) | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
SE533185C2 (sv) | 2007-02-16 | 2010-07-13 | Scalado Ab | Metod för behandling av en digital bild samt bildrepresentationsformat |
DE102007061724A1 (de) * | 2007-12-20 | 2009-06-25 | Robert Bosch Gmbh | Verfahren zum Übertragen von Daten in einem zyklusbasierten Kommunikationssystem |
US8639836B2 (en) * | 2009-06-29 | 2014-01-28 | International Business Machines Corporation | Smart nagling in a TCP connection |
US8520958B2 (en) * | 2009-12-21 | 2013-08-27 | Stmicroelectronics International N.V. | Parallelization of variable length decoding |
EP2519006B1 (en) * | 2011-04-26 | 2013-11-27 | BlackBerry Limited | Fast estimation of binary data length using memory corruption |
US8593309B2 (en) * | 2011-11-30 | 2013-11-26 | Intel Mobile Communications GmbH | Method for efficient decoding of variable length codes |
US8824569B2 (en) | 2011-12-07 | 2014-09-02 | International Business Machines Corporation | High bandwidth decompression of variable length encoded data streams |
US9230339B2 (en) | 2013-01-07 | 2016-01-05 | Wexenergy Innovations Llc | System and method of measuring distances related to an object |
US8923650B2 (en) | 2013-01-07 | 2014-12-30 | Wexenergy Innovations Llc | System and method of measuring distances related to an object |
US9845636B2 (en) | 2013-01-07 | 2017-12-19 | WexEnergy LLC | Frameless supplemental window for fenestration |
US10883303B2 (en) | 2013-01-07 | 2021-01-05 | WexEnergy LLC | Frameless supplemental window for fenestration |
US9691163B2 (en) | 2013-01-07 | 2017-06-27 | Wexenergy Innovations Llc | System and method of measuring distances related to an object utilizing ancillary objects |
US10196850B2 (en) | 2013-01-07 | 2019-02-05 | WexEnergy LLC | Frameless supplemental window for fenestration |
US8933824B1 (en) | 2013-08-28 | 2015-01-13 | International Business Machines Corporation | Hardware decompression of deflate encoded data with multiple blocks |
US9374106B2 (en) | 2013-08-28 | 2016-06-21 | International Business Machines Corporation | Efficient context save/restore during hardware decompression of DEFLATE encoded data |
US9800640B2 (en) | 2013-10-02 | 2017-10-24 | International Business Machines Corporation | Differential encoder with look-ahead synchronization |
CA3042478A1 (en) * | 2016-08-31 | 2018-03-08 | Pointerra Technologies Pty Ltd | Method and system for storing and retrieving multi-dimensional data |
KR102421458B1 (ko) | 2016-10-11 | 2022-07-14 | 게놈시스 에스에이 | 액세스 유닛으로 구조화된 생물정보학 데이터에 액세스하기 위한 방법 및 장치 |
PE20191058A1 (es) | 2016-10-11 | 2019-08-06 | Genomsys Sa | Metodo y sistema para el acceso selectivo de datos bioinformaticos almacenados o transmitidos |
CN111247304B (zh) | 2017-05-30 | 2023-01-13 | 韦克斯能源有限责任公司 | 用于窗户配列的无框辅助窗户 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4967196A (en) * | 1988-03-31 | 1990-10-30 | Intel Corporation | Apparatus for decoding variable-length encoded data |
JPH0214620A (ja) * | 1988-07-01 | 1990-01-18 | Nec Corp | 可変長符号化回路 |
US5349348A (en) * | 1991-08-15 | 1994-09-20 | International Business Machines Corporation | Multi-mode data stream generator |
JP3197408B2 (ja) * | 1993-09-09 | 2001-08-13 | 沖電気工業株式会社 | マーカ識別用付加ビット処理装置 |
US5881176A (en) * | 1994-09-21 | 1999-03-09 | Ricoh Corporation | Compression and decompression with wavelet style and binary style including quantization by device-dependent parser |
JPH10341345A (ja) * | 1997-06-05 | 1998-12-22 | Kokusai Electric Co Ltd | 画像データ処理システム |
US6281874B1 (en) * | 1998-08-27 | 2001-08-28 | International Business Machines Corporation | Method and system for downloading graphic images on the internet |
KR100331332B1 (ko) * | 1998-11-02 | 2002-06-20 | 윤종용 | 비디오 데이터 송신 장치와 수신장치 및 그 방법 |
US6381371B1 (en) * | 1999-03-17 | 2002-04-30 | Hewlett-Packard Company | Method and apparatus for processing image files |
US6308257B1 (en) * | 1999-04-20 | 2001-10-23 | Intel Corporation | Method and apparatus for generating boundary markers for an instruction stream including variable-length instructions |
JP2003527655A (ja) | 1999-08-02 | 2003-09-16 | アイビューイット・ホールディングズ・インコーポレーテッド | 改良されたデジタル画像ファイルを提供するためのシステムおよび方法 |
WO2001043310A2 (en) * | 1999-12-03 | 2001-06-14 | Broadcom Corporation | Embedded training sequences for carrier acquisition and tracking |
RU2268554C2 (ru) * | 2000-03-07 | 2006-01-20 | Конинклейке Филипс Электроникс Н.В. | Способ ресинхронизации для декодирования видеосигнала |
US7146053B1 (en) * | 2000-05-10 | 2006-12-05 | International Business Machines Corporation | Reordering of compressed data |
JP3924420B2 (ja) * | 2000-07-11 | 2007-06-06 | Necエレクトロニクス株式会社 | 画像圧縮装置及びその方法 |
US6560745B1 (en) * | 2000-07-21 | 2003-05-06 | The United States Of America As Represented By The National Security Agency | Method of identifying boundary of markerless codeword |
US6931661B2 (en) | 2000-10-19 | 2005-08-16 | Motorola, Inc. | Dynamic image provisioning |
JP3661594B2 (ja) * | 2001-02-07 | 2005-06-15 | ソニー株式会社 | データストリーム生成装置とその方法、可変長符号化データストリーム生成装置とその方法、および、カメラシステム |
JP2003198378A (ja) * | 2001-12-25 | 2003-07-11 | Canon Inc | 復号化装置および復号化方法ならびに記憶媒体、プログラム |
US20040086041A1 (en) * | 2002-10-30 | 2004-05-06 | Koninklijke Philips Electronics N.V. | System and method for advanced data partitioning for robust video transmission |
US7277586B2 (en) * | 2003-01-15 | 2007-10-02 | Fujifilm Corporation | Images combination processing system, images combination processing method, and images combination processing program |
US7447369B2 (en) * | 2003-03-07 | 2008-11-04 | Ricoh Co., Ltd. | Communication of compressed digital images |
US7149370B2 (en) * | 2003-03-07 | 2006-12-12 | Nokia Corporation | Method and device for image surfing |
JP2005031482A (ja) * | 2003-07-08 | 2005-02-03 | Matsushita Electric Ind Co Ltd | 画像伸長表示方法、画像伸長表示装置、および画像伸長表示用プログラム |
FR2857811A1 (fr) * | 2003-07-16 | 2005-01-21 | St Microelectronics Sa | Methode de chiffrage d'un flux audio ou video compresse a tolerance d'erreurs |
WO2005032119A1 (de) | 2003-09-26 | 2005-04-07 | Thomson Licensing | Verfahren zum speichern eines bildes mit vorschaubild |
KR101142584B1 (ko) * | 2003-11-18 | 2012-05-10 | 스칼라도 아베 | 디지털 이미지 처리 방법 및 이미지 표현 포맷 |
US8237712B2 (en) * | 2004-03-18 | 2012-08-07 | Apple Inc. | Manipulation of image content using various image representations |
US7386777B2 (en) * | 2004-04-05 | 2008-06-10 | Verigy (Singapore) Pte. Ltd. | Systems and methods for processing automatically generated test patterns |
US7463775B1 (en) * | 2004-05-18 | 2008-12-09 | Adobe Systems Incorporated | Estimating compressed storage size of digital data |
US7738710B2 (en) * | 2004-08-02 | 2010-06-15 | Electronics For Imaging, Inc. | Methods and apparatus for communicating and displaying compressed image data |
US8121428B2 (en) * | 2005-05-31 | 2012-02-21 | Microsoft Corporation | Accelerated image rendering |
GB2435334A (en) * | 2006-02-20 | 2007-08-22 | Graeme Roy Smith | Compression and decompression of data stream using a linear feedback shift register |
-
2007
- 2007-07-11 SE SE0701690A patent/SE531398C2/sv unknown
-
2008
- 2008-02-15 KR KR1020097019348A patent/KR101463279B1/ko active IP Right Grant
- 2008-02-15 US US12/031,872 patent/US7652595B2/en active Active
- 2008-02-15 WO PCT/SE2008/000125 patent/WO2008100206A1/en active Application Filing
- 2008-02-15 EP EP08712717.1A patent/EP2123053B1/en active Active
- 2008-02-15 JP JP2009549554A patent/JP5289333B2/ja active Active
-
2009
- 2009-08-13 IL IL200413A patent/IL200413A0/en unknown
- 2009-12-22 US US12/644,690 patent/US7847711B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101463279B1 (ko) | 2014-11-19 |
IL200413A0 (en) | 2010-04-29 |
EP2123053B1 (en) | 2019-02-13 |
KR20090115208A (ko) | 2009-11-04 |
US20100265966A2 (en) | 2010-10-21 |
US7652595B2 (en) | 2010-01-26 |
EP2123053A4 (en) | 2013-06-26 |
JP2010519806A (ja) | 2010-06-03 |
SE531398C2 (sv) | 2009-03-24 |
WO2008100206A1 (en) | 2008-08-21 |
US20080198047A1 (en) | 2008-08-21 |
US20100098107A1 (en) | 2010-04-22 |
SE0701690L (sv) | 2008-08-17 |
US7847711B2 (en) | 2010-12-07 |
EP2123053A1 (en) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5289333B2 (ja) | データストリームを生成し、データストリーム内の位置を識別する方法 | |
CN101647288B (zh) | 生成数据流并识别在数据流内的位置 | |
JP5498783B2 (ja) | データ圧縮の方法 | |
US20200153942A1 (en) | Method and system for transmitting a data file over a data network | |
JP4801776B2 (ja) | データ圧縮 | |
TWI310137B (en) | Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions | |
TW200904145A (en) | Method for encoding an input image and method and apparatus for displaying an encoded image | |
US8121428B2 (en) | Accelerated image rendering | |
EA032768B1 (ru) | Передача данных восстановления в многоуровневой иерархии качества сигнала | |
JP2012110016A (ja) | ディジタル画像を処理するための方法および画像表現形式 | |
WO1998041026A1 (en) | Encoding method, encoder and recording medium, and decoding method, decoder and recording medium | |
JP5656593B2 (ja) | 符号化データを復号する装置及び方法 | |
TW200937875A (en) | Compression system for a bit-plane | |
US20100321218A1 (en) | Lossless content encoding | |
US20090074314A1 (en) | Decoding variable lenght codes in JPEG applications | |
CN110392262B (zh) | 一种压缩虚拟桌面图像的方法及装置 | |
US6518896B1 (en) | Multiple symbol length lookup table | |
JP2008166895A (ja) | 映像表示装置及びその制御方法、プログラム、記録媒体 | |
TW200937942A (en) | Coding system and method for a bit-plane | |
JP2934603B2 (ja) | 可変長さコードの復号化方法及びその装置 | |
WO2010044098A2 (en) | Content encoding | |
JP2014027573A (ja) | Ykm形式圧縮プログラムを記録した記録媒体 | |
JP2010258927A (ja) | 符号データ処理装置、方法及びプログラム | |
JP2004120417A (ja) | 動画像圧縮装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110210 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110210 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120828 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20121119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130403 |
|
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: 20130509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130604 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5289333 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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |