KR101851477B1 - 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 - Google Patents
이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 Download PDFInfo
- Publication number
- KR101851477B1 KR101851477B1 KR1020167018776A KR20167018776A KR101851477B1 KR 101851477 B1 KR101851477 B1 KR 101851477B1 KR 1020167018776 A KR1020167018776 A KR 1020167018776A KR 20167018776 A KR20167018776 A KR 20167018776A KR 101851477 B1 KR101851477 B1 KR 101851477B1
- Authority
- KR
- South Korea
- Prior art keywords
- blocks
- block
- group
- coding
- decoding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000004590 computer program Methods 0.000 title description 4
- 238000012545 processing Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims 4
- 230000008569 process Effects 0.000 description 45
- 230000008901 benefit Effects 0.000 description 14
- 101100421131 Caenorhabditis elegans sek-1 gene Proteins 0.000 description 10
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 238000013139 quantization Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 102100039648 Lactadherin Human genes 0.000 description 4
- 101710191666 Lactadherin Proteins 0.000 description 4
- 101100042007 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SEC12 gene Proteins 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 101150065142 sed2 gene Proteins 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 101150090066 MDE1 gene Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100063539 Mus musculus Dmpk gene Proteins 0.000 description 1
- 101100499877 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) DPM1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 101150000665 sed3 gene Proteins 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- 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
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/02—Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
- H04B7/12—Frequency diversity
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/124—Quantisation
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 미리 결정된 심볼들의 세트에 속하는 심볼들을 포함할 수 있는 복수의 블록들(MB)로부터 이미지를 분할하는 단계(C1), 미리 결정된 수(P)의 블록들의 서브세트들(SE1, SE2,..., SEk,..., SEP)에서 블록들을 분류하는 단계(C2), 엔트로피 모듈을 이용하여, 검토중인 서브세트의 각 블록의 심볼들과 디지털 정보를 연관시킴으로써, 상기 블록들의 서브세트들의 각각을 인코딩하는 단계(C3) - 상기 인코딩 단계는, 이미지의 첫 번째 블록에 대하여, 상기 엔트로피 인코딩 모듈의 상태 변수들을 초기화하는 서브-단계(C33)를 포함함 -, 및 상기 인코딩된 블록들의 서브세트들 중 적어도 하나를 나타내는 데이터의 적어도 하나의 서브-스트림을 생성하는 단계를 포함하는 인코딩 방법에 관한 것이다. 현재 블록이 검토중인 블록들의 서브세트의 인코딩되고 있는 첫 번째 블록인 경우, 상기 첫 번째 현재 블록에 대한 심볼 발생의 확률들은 적어도 하나의 다른 서브세트의 인코딩된 및 디코딩된 미리 결정된 블록에 대하여 결정되었던 것이다. 현재 유닛이 검토중인 서브세트의 마지막 인코딩된 유닛인 경우, 검토중인 상기 서브세트의 블록들의 인코딩 동안 상기 심볼들과 연관되었던 디지털 정보 모두는 검토중인 적어도 상기 서브세트를 나타내는 상기 서브-스트림에 기록되고(C45), 초기화 서브-단계가 실시된다(C46).
Description
본 발명은 일반적으로 이미지 프로세싱의 분야에 관한 것으로, 보다 정확하게는, 디지털 이미지들 및 디지털 이미지들의 시퀀스의 코딩 및 디코딩에 관한 것이다.
본 발명은 따라서, 특히, 현재의 비디오 코더들(MPEG, H.264 등) 또는 근간의 비디오 코더들(ITU-T/VCEG(H.265) 또는 ISO/MPEG(HVC))에서 실시되는 비디오 코딩에 적용될 수 있다.
현재의 비디오 코더들(MPEG, H264 등)은 비디오 시퀀스의 블록-방식(blockwise) 표시를 이용한다. 이미지들은 매크로-블록들로 세그먼트화되고(segmented), 각 매크로-블록은 그 자체를 블록들로 세그먼트화하며, 각 블록, 또는 매크로-블록은 인트라(intra)-이미지 또는 인터(inter)-이미지 예측에 의해 코딩된다. 따라서, 당업자에 의해 알려진 움직임 보상으로 하나 또는 둘 이상의 코딩-디코딩된 기준 이미지들에 대하여, 어떤 이미지들은 공간 예측(인트라 예측)에 의해 코딩되는 한편, 다른 이미지들은 시간 예측(인터 예측)에 의해 코딩된다. 게다가, 각 블록에 대하여, 원래 블록 마이너스 예측에 대응하는 잔차 블록(residual block)이 코딩될 수 있다. 이런 블록의 계수들은 가능하면 변환(transformation) 후에 양자화되고, 그 다음 엔트로피 코더에 의해 코딩된다.
인트라 예측 및 인터 예측은 이전에 코딩 및 디코딩되었던 어떤 블록들이 현재 블록을 예측하기 위해 디코더 또는 코더 중 어느 하나에서 사용될 수 있도록 이용가능한 것을 필요로 한다. 이와 같은 예측 코딩의 개략적 예가 도 1에 도시되는데, 여기서, 이미지 IN는 블록들로 분할되고, 이런 이미지의 현재 블록 MBi은 해칭된 화살표에 의해 표시된 바와 같은, 미리 결정된 수 3개의 이전에 코딩 및 디코딩된 블록들 MBr1, MBr2 및 MBr3에 대하여 예측 코딩이 이루어진다. 상술한 3개의 블록들은, 특히, 현재 블록 MBi의 좌측에 바로 위치된 블록 MBr1, 및 현재 블록 MBi의 바로 위 및 우측 위에 각각 위치된 2개의 블록들 MBr2 및 MBr3을 포함한다.
엔트로피 코더가 여기서 더욱 특별한 관심대상이다. 엔트로피 코더는 도착의 순서로 정보를 인코딩한다. 이미지의 상단 좌측의 블록에서 시작하는 기준 PRS에 의해 도 1에 도시된 바와 같이, 전형적으로 블록들의 행 단위(row-by-row) 순회(traversal)는 "래스터-주사(raster-scan)" 형태로 수행된다. 각 블록에 대하여, 블록의 표현을 위해 필요한 정보의 다양한 항목들(블록의 유형, 예측의 모드, 잔차 계수(residual coefficient)들 등)은 엔트로피 코더로 순차적으로 보내진다.
AVC 압축 표준(또한 ISO-MPEG4 part 10 및 ITU-T H.264란 명칭으로 알려진)으로 도입된 합리적인 복잡성의 효율적인 산술 코더(arithmetical coder), 소위 "CABAC"("Context Adaptive Binary Arithmetic Coder")가 이미 알려져 있다.
이런 엔트로피 코더는 다양한 개념들을 실시한다:
- 산술 코딩 : 문서 J. Rissanen and G. G. Langdon Jr, "Universal modeling and coding," IEEE Trans. Inform. Theory, vol. IT-27, pp. 12-23, Jan. 1981에서 처음으로 설명된 바와 같은 코더는 심볼을 코딩하기 위해 이런 심볼의 발생의 확률을 사용한다;
- 콘텍스트(context)에 적응 : 여기서, 이는 코딩될 심볼들의 발생의 확률의 적응을 의미한다. 한편, 학습이 작동 중(on the fly) 수행된다. 다른 한편, 이전 코딩된 정보의 상태에 따라 특정 콘텍스트가 코딩을 위해 사용된다. 각 콘텍스트에 대하여, 심볼의 발생의 고유(inherent) 확률이 대응되어 있다. 예를 들면, 콘텍스트는 주어진 구성 또는 이웃의 상태(예를 들면, 이웃으로부터 선택된 "인트라" 모드들의 수 등)에 따라 코딩된 심볼의 유형(잔차의 계수의 표시 또는 코딩 모드의 시그널링(signaling) 등)에 대응한다;
- 이진화(binarization) : 코딩될 심볼들의 일련의 비트들의 정형(shaping)이 수행된다. 그 후에, 이들 다양한 비트들은 연속하여 이진 엔트로피 코더로 보내진다.
따라서, 이들 엔트로피 코더는, 사용된 각 콘텍스트에 대하여, 고려중인(under consideration) 콘텍스트를 위해 이전에 코딩된 심볼들에 대하여 확률들을 작동중 학습하기 위한 시스템을 실시한다. 이런 학습은 이들 심볼들의 코딩의 순서에 기반한다. 전형적으로, 이미지는 앞에서 설명된 "래스터-주사" 유형의 순서에 따라 순회된다(traversed).
0 또는 1과 같을 수 있는 주어진 심볼 b의 코딩 동안, 이들 심볼의 발생의 확률 Pi의 학습은 다음의 방식으로 현재 블록 MBi에 대하여 업데이트 된다 :
여기서, α는 미리 결정된 값, 예를 들면, 0.95이고 Pi-1은 이런 심볼의 마지막 발생 동안 연산된 심볼 발생 확률이다.
이런 엔트로피 코딩의 개략적 예가 도 1에 도시되는데, 여기서 이미지 IN의 현재 블록 MBi는 엔트로피 코딩이 이루어진다. 블록 MBi의 엔트로피 코딩이 시작되면, 사용된 심볼 발생 확률들은 "래스터 주사" 유형의 블록들의 상술한 행 단위 순회에 따라 현재 블록 MBi에 바로 앞서는 것인, 이전에 코딩 및 디코딩된 블록의 코딩 이후에 이렇게 획득된 것들이다. 블록 간(block-to-block) 의존에 기반한 이런 학습은 어떤 블록들에 대하여 단지 도면의 명료성을 위해, 얇은 선 화살표들로 도 1에서 표시된다.
이런 유형의 엔트로피 코딩의 문제점은 행의 시작에 위치된 심볼을 코딩하는 경우, 블록들의 "래스터 주사" 순회를 고려하면, 사용된 확률들이 주로 이전 행의 마지막에 위치된 심볼들에 대하여 관측된 것에 대응한다는 사실에 있다. 이제, 심볼 확률들의 가능한 공간 변화 때문에(예를 들면, 움직임 정보의 항목과 관련된 심볼에 대하여, 이미지의 우측 부분에 위치된 움직임은 좌측 부분에서 관찰된 것과 상이할 수 있고, 따라서 뒤따른 국부(local) 확률들에 대해서도 유사함), 확률들의 국부적 일치(conformity)의 부족이 관찰될 수 있고, 그에 의해 코딩 동안 효율성의 손실을 초래할 수 있다.
이런 현상을 제한하기 위해, 코딩 및 디코딩이 순차적인 채로 남아있지만, 더 우수한 국부 정합성(consistency)의 보장을 목표로 블록들의 순회의 순서의 수정들에 대한 제안들이 이루어졌다.
그 안에 이런 유형의 엔트로피 코더의 다른 문제점이 있다. 실제로, 심볼의 코딩 및 디코딩이 그것에 학습된 확률의 상태에 의존하면, 심볼들의 디코딩은 코딩 동안 사용된 것과 동일 순서로만 이루어질 수 있다. 전형적으로, 디코딩은 순차적이어야만 할 수 있고, 따라서, 몇몇 심볼들의 병렬 디코딩을 방지한다(예를 들면, 멀티-코어 아키텍쳐들로부터 이익을 얻기 위해).
문헌 : Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, 및 Ajay Luthra, "Overview of the H.264/AVC Video Coding Standard", IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, pp. 560-576, July 2003은 CABAC 엔트로피 코더가 비-정수의 비트들을 코딩될 현재 알파벳의 각 심볼에 할당하는 특별한 특징을 갖고, 이는 0.5보다 큰 심볼 발생 확률들에 대해 유리하다고 또한 언급한다. 특히, CABAC 코더는 그것이 몇몇 심볼들을 판독할 때까지 대기하고, 그 다음 판독된 이런 심볼들의 세트에, 코더가 디코더로 전송될 압축된 스트림에 기록하는 미리 결정된 수의 비트들을 할당한다. 이런 제공은 몇몇 심볼들에 대한 비트들을 "상호적으로 하는 것(mutualize)", 그리고 분수의 비트들에 관한 심볼을 코딩하는 것을 가능하게 하며, 이런 수는 심볼에 의해 실제로 이송된 정보와 근접한 정보를 반영한다. 판독된 심볼들과 관련된 다른 비트들은 압축된 스트림으로 전송되는 것이 아니라, 이런 다른 비트들을 다시 상호적으로 하는 것을 가능하게 하는 CABAC 코더에 의해 판독된 하나 또는 둘 이상의 새로운 심볼들에 할당되도록 대기하면서 대기중이다. 알려진 방식으로, 엔트로피 코더는 주어진 순간에 이들 전송하지 않은 비트들의 "비움(emptying)"을 착수한다. 달리 말하면, 상기 주어진 순간에, 코더는 아직 전송되지 않은 비트들을 추출하고 그것들을 디코더로 목적지가 예정된(destinated) 압축된 스트림에 기록한다. 이런 비움은 압축된 스트림이, 디코더가 알파벳의 심볼들을 모두 디코딩하게 할 비트들을 모두 포함함을 보장하도록, 예를 들면, 코딩될 마지막 심볼들이 판독되었던 순간에 발생한다. 더 일반적인 방식으로, 비움이 수행된 순간은 주어진 코더/디코더에 독특한 성능 및 기능성들의 함수로서 결정된다.
2011년 4월 15일자의 인터넷 어드레스 http://research.microsoft.com/en-us/um/people/jinl/paper_2002/msri_jpeg.htm 에서 이용가능한 문헌은 JPEG 2000 압축 표준을 따르는 정지 이미지들을 코딩하기 위한 방법을 설명한다. 이런 방법에 따르면, 정지 이미지 데이터는 이산 웨이브렛 변환(discrete wavelet transform)이 이루어지고 뒤이어 양자화가 이루어지며, 그에 의해 양자화 지수들과 각각 관련된 양자화된 웨이브렛 계수들을 획득하는 것을 가능하게 한다. 획득된 양자화 지수들은 엔트로피 코더로 코딩된다. 양자화된 계수들은 소위 코딩-블록들, 전형적으로 크기가 64×64 또는 32×32인 직사각형 블록들로 미리 분류된다. 각 코딩-블록은 그 후에 엔트로피 코딩에 의해 독립적으로 코딩된다. 따라서, 엔트로피 코더는, 그것이 현재 코딩-블록의 코딩을 착수하는 경우, 이전 코딩-블록들의 코딩 동안 연산된 심볼 발생 확률들을 이용하지 않는다. 엔트로피 코더는 따라서 코딩-블록의 코딩의 각 시작에서 초기화된 상태이다. 이런 방법은 이웃하는 코딩-블록들을 디코딩해야 할 필요 없이 코딩-블록의 데이터를 디코딩하는 장점을 나타낸다. 따라서, 예를 들면, 하나의 클라이언트 소프트웨어가 이미지의 식별된 서브-부분을 디코딩하기 위해 오직 클라이언트에 의해서만 필요한 압축된 코딩-블록들을 제공하도록 하나의 서버 소프트웨어를 요청할 수 있다. 이런 방법은 또한 코딩-블록들의 병렬 인코딩 및/또는 디코딩을 허용하는 장점을 나타낸다. 따라서, 코딩-블록들의 크기가 작아질수록, 병렬 계산(parallelism)의 레벨은 높아진다. 예를 들면, 2로 고정된 병렬 계산의 레벨에 대하여, 2개의 코딩-블록들이 병렬로 코딩 및/또는 디코딩될 것이다. 이론적으로, 병렬 계산의 레벨의 값은 이미지의 코딩될 코드-블록들의 수와 동일하다. 그러나, 이런 방법으로 획득된 압축 성능은, 이런 코딩이 현재 코드-블록의 당면한 환경에 기인하는 확률들을 이용하지 않는다는 사실을 감안하면, 최적이지 않다.
본 발명의 목적들 중 하나는 상술한 종래 기술들의 문제점들을 해결하는 것이다.
이를 위해, 본 발명의 주제는 다음 단계들을 포함하는 적어도 하나의 이미지를 코딩하기 위한 방법에 관한 것이다 :
- 미리 결정된 심볼들의 세트에 속하는 심볼들을 포함할 수 있도록 상기 이미지를 복수의 블록들로 세그먼트화하는 단계,
- 블록들을 미리 결정된 수의 블록들의 서브세트들로 분류하는 단계,
- 엔트로피 코딩 모듈에 의해, 고려중인 서브세트의 각 블록의 심볼들과 디지털 정보를 연관시킴으로써, 상기 블록들의 서브세트들의 각각을 코딩하는 단계 - 상기 코딩 단계는 상기 이미지의 첫 번째 블록에 대하여, 상기 엔트로피 코딩 모듈의 상태 변수들을 초기화하는 서브-단계를 포함함 -,
- 상기 코딩된 블록들의 서브세트들 중 적어도 하나를 나타내는 적어도 하나의 데이터 서브-스트림을 생성하는 단계.
본 발명에 따른 상기 방법은 다음에 주목할 만하다 :
- 현재 블록이 고려중인 서브세트의 코딩될 상기 첫 번째 블록인 경우, 상기 첫 번째 현재 블록에 대한 심볼 발생의 확률들의 결정이 착수되고, 상기 확률들은 적어도 하나의 다른 서브세트의 코딩된 및 디코딩된 미리 결정된 블록에 대하여 결정되었던 것이며,
- 상기 현재 블록이 고려중인 상기 서브세트의 마지막 코딩된 블록인 경우, 다음이 착수된다 :
● 고려중인 상기 서브세트를 나타내는 상기 서브-스트림에, 고려중인 상기 서브세트의 블록들의 코딩 동안 상기 심볼들과 연관되었던 상기 디지털 정보의 전체의 기록,
● 상기 초기화 서브-단계의 실시.
앞서 설명된 상기 기록 단계는, 설명부에서 위에 설명되었던 바와 같이, 서브 세트의 블록들 중 마지막 블록이 코딩되자마자, 아직 전송되지 않은 디지털 정보(비트들)의 비움을 수행하는 단계에 해당한다.
상술한 기록 단계 및 엔트로피 코딩 모듈을 재초기화하는 단계의 결합은 적어도 하나의 코딩된 블록들의 서브세트에 각각 대응하는 다양한 데이터 서브-스트림들을 포함하는 코딩된 데이터 스트림을 생성하는 것을 가능하게 하고, 상기 스트림은 병렬 계산의 다양한 레벨들에 따라 병렬로 디코딩되도록 적응되며, 이는 블록들의 서브세트들에 적용되었던, 순차적인 또는 병렬의 코딩의 유형에 관계없다. 따라서, 큰 자유도는, 기대된 코딩/디코딩 성능의 함수로서, 병렬 계산의 레벨의 선택에 대하여 디코딩시 획득될 수 있다. 디코딩시 병렬 계산의 레벨은 가변적이고, 블록들의 서브세트의 디코딩을 시작하는 경우, 디코더는 항상 초기화된 상태이기 때문에, 코딩시 병렬 계산의 레벨과 상이할 수도 있다.
제 1 예에 따르면, 엔트로피 코딩 모듈의 상태 변수들은 미리 결정된 심볼들의 세트의 심볼들 중에서 심볼의 발생의 확률을 나타내는 간격의 2개의 한계이다.
제 2 예에 따르면, 엔트로피 코딩 모듈의 상태 변수들은 당업자에게 잘 알려진 LZW(Lempel-Ziv-Welch) 엔트로피 코더의 변환 테이블에 포함된 심볼들의 스트링들이고, 2011년 6월 21일자의 다음의 인터넷 어드레스에 설명된다 :
http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch.
고려된 블록들의 서브세트의 첫 번째 현재 블록의 엔트로피 코딩 동안 상기 다른 서브세트의 첫 번째 블록에 대하여 결정된 심볼 발생 확률들을 이용하는 주요한 장점은 상기 다른 서브세트의 다른 연속적인 블록들에 의해 학습된 심볼 발생 확률들을 고려하지 않고, 상기 심볼 발생 확률들의 업데이트 만을 버퍼 메모리에 저장함으로써 코더의 버퍼 메모리를 절약하는 것이다.
고려된 블록들의 서브세트의 첫 번째 현재 블록의 엔트로피 코딩 동안, 상기 다른 서브세트의 첫 번째 블록 이외의 블록, 예를 들면, 두 번째 블록에 대하여 결정된 심볼 발생 확률들을 이용하는 주요한 장점은 더 정확한 획득 및 따라서 심볼들의 발생의 확률들의 더 우수한 학습이며, 그에 의해 우수한 비디오 압축 성능을 초래한다.
특정 실시예에서, 상기 블록들의 서브세트들은 순차적으로 아니면 병렬로 코딩된다.
블록들의 서브세트들이 순차적으로 코딩된다는 사실은 H.264/MPEG-4 AVC 표준에 따르는 본 발명에 따른 코딩 방법을 제공하는 장점을 갖는다.
블록들의 서브세트들이 병렬로 코딩된다는 사실은 코더 프로세싱 시간을 가속화하고, 이미지의 코딩을 위한 다중 플랫폼 아키텍쳐로부터 이익을 얻는 장점을 갖는다.
다른 특정 실시예에서, 적어도 두 개의 블록들의 서브세트들이 적어도 하나의 다른 블록들의 서브세트와 병렬로 코딩되는 경우, 상기 적어도 두 개의 코딩된 블록들의 서브세트들은 동일한 데이터 서브-스트림에 포함된다.
이런 제공은 특히 데이터 서브-스트림들의 시그널링을 절약하는 것을 가능하게 한다. 실제로, 디코딩 유닛이 서브-스트림을 가능한 일찍 디코딩할 수 있도록, 압축된 파일에서 검토중인 서브-스트림이 시작하는 위치를 나타내는 것이 필요하다. 몇몇 블록들의 서브세트들은 동일한 데이터 서브-스트림에 포함되고, 단일 표시자(indicator)가 필요하며, 그에 의해 압축된 파일의 크기가 감소시킨다.
또 다른 특정 실시예에서, 상기 코딩된 블록들의 서브세트들이 미리 결정된 순서로 병렬로 디코딩되도록 의도될 때, 상기 블록들의 서브세트들의 각각을 각각 코딩한 후 전달되는 상기 데이터 서브-스트림들은 그들의 디코딩을 목적으로 전송되기 전에 상기 미리 결정된 순서에 따라 먼저 정렬된다(orderd).
이런 제공은 이미지를 디코딩하고 그 다음 재-인코딩해야할 필요 없이, 코딩된 데이터 스트림을 특정한 유형의 디코딩에 적응시키는 것을 가능하게 한다.
상관적으로, 본 발명은 추가로 다음을 포함하는 적어도 하나의 이미지를 코딩하기 위한 디바이스에 관한 것이다 :
- 미리 결정된 심볼들의 세트에 속하는 심볼들을 포함할 수 있도록 상기 이미지를 복수의 블록들로 세그먼트화하기 위한 수단,
- 상기 블록들을 미리 결정된 수의 블록들의 서브세트들로 분류하기 위한 수단,
- 상기 블록들의 서브세트들의 각각을 코딩하기 위한 수단 - 상기 코딩 수단은 고려중인 서브세트의 각 블록의 심볼들과 디지털 정보를 연관시킬 수 있도록 엔트로피 코딩 모듈을 포함하고, 상기 코딩 수단은 상기 이미지의 첫 번째 블록에 대하여, 상기 엔트로피 코딩 모듈의 상태 변수들을 초기화하기 위한 서브-수단을 포함함 -,
- 상기 코딩된 블록들의 서브세트들 중 적어도 하나를 나타내는 적어도 하나의 데이터 서브-스트림을 생성하기 위한 수단.
이런 코딩 디바이스는 그것이 다음을 포함한다는 것에 주목할 만하다 :
- 현재 블록이 고려중인 서브세트의 코딩될 상기 첫 번째 블록인 경우, 적어도 하나의 다른 서브세트의 코딩된 및 디코딩된 미리 결정된 블록에 대하여 결정되었던 것과 같이, 상기 첫 번째 블록에 대한 심볼 발생의 확률들을 결정하는, 상기 현재 블록에 대한 심볼 발생의 확률들을 결정하기 위한 수단,
- 상기 현재 블록이 고려중인 상기 서브세트의 마지막 코딩된 블록인 경우, 고려중인 상기 서브세트를 나타내는 상기 서브-스트림에, 고려중인 상기 서브세트의 블록들의 코딩 동안 상기 심볼들과 연관되었던 상기 디지털 정보의 전체를 기록하도록 활성화되는 기록 수단을 포함하고,
상기 초기화 서브-수단은 또한 상기 엔트로피 코딩 모듈의 상기 상태 변수들을 재초기화하도록 활성화된다.
대응하는 방식으로, 본 발명은 또한 적어도 하나의 코딩된 이미지를 나타내는 스트림을 디코딩하기 위한 방법에 관한 것이고, 이는 다음을 포함한다 :
- 디코딩될 적어도 하나의 블록들의 서브세트에 각각 대응하는 미리 결정된 수의 데이터 서브-스트림들을 상기 스트림에서 식별하는 단계 - 상기 블록들은 미리 결정된 심볼들의 세트에 속하는 심볼들을 포함할 수 있음 -,
- 엔트로피 디코딩 모듈에 의해, 상기 식별된 서브-스트림들 중 적어도 하나에서, 상기 적어도 하나의 식별된 서브-스트림에 대응하는 서브세트의 각 블록의 심볼들과 연관된 디지털 정보를 판독함으로써, 상기 식별된 블록들의 서브세트들을 디코딩하는 단계 - 상기 디코딩 단계는 상기 이미지의 디코딩될 첫 번째 블록에 대하여, 상기 엔트로피 디코딩 모듈의 상태 변수들을 초기화하는 서브-단계를 포함함 -.
이런 디코딩 방법은 다음에 주목할 만하다 :
- 현재 블록이 고려중인 서브세트의 디코딩될 상기 첫 번째 블록인 경우, 고려중인 상기 서브세트의 상기 첫 번째 블록에 대한 심볼 발생의 확률들의 결정이 착수되고, 상기 확률들은 적어도 하나의 다른 서브세트의 디코딩된 미리 결정된 블록에 대하여 결정되었던 것들이고,
- 상기 현재 블록이 고려중인 서브세트의 마지막 디코딩된 블록인 경우, 상기 초기화 서브-단계의 실시가 착수된다.
특정 실시예에서, 상기 블록들의 서브세트들은 순차적으로 아니면 병렬로 디코딩된다.
다른 특정 실시예에서, 적어도 두 개의 블록들의 서브세트들이 적어도 하나의 다른 블록들의 서브세트와 병렬로 디코딩되는 경우, 상기 식별된 데이터 서브-스트림들 중 하나는 상기 적어도 두 개의 블록들의 서브세트들을 나타낸다.
또 다른 특정 실시예에서, 상기 코딩된 블록들의 서브세트들이 미리 결정된 순서로 병렬로 디코딩되도록 의도된 경우, 상기 코딩된 블록들의 서브세트들에 각각 대응하는 상기 데이터 서브-스트림들은 디코딩될 상기 스트림에서 상기 미리 결정된 순서로 미리 정렬된다.
상관적으로, 본 발명은 추가로 적어도 하나의 코딩된 이미지를 나타내는 스트림을 디코딩하기 위한 디바이스에 관한 것이며, 이는 다음을 포함한다 :
- 디코딩될 적어도 하나의 블록들의 서브세트에 각각 대응하는 미리 결정된 수의 데이터 서브-스트림들을 상기 스트림에서 식별하기 위한 수단 - 상기 블록들은 미리 결정된 심볼들의 세트에 속하는 심볼들을 포함할 수 있음 -,
- 상기 식별된 블록들의 서브세트들을 디코딩하기 위한 수단 - 상기 디코딩 수단은 상기 식별된 서브-스트림들 중 적어도 하나에서, 상기 적어도 하나의 식별된 서브-스트림에 대응하는 서브세트의 각 블록의 심볼들과 연관된 디지털 정보를 판독할 수 있도록 엔트로피 디코딩 모듈을 포함하고, 상기 디코딩 수단은 상기 이미지의 디코딩될 첫 번째 블록에 대하여, 상기 엔트로피 디코딩 모듈의 상태 변수들을 초기화하기 위한 서브-수단을 포함함 -.
이런 디코딩 디바이스는, 그것이, 현재 블록이 고려중인 서브세트의 디코딩될 상기 첫 번째 블록인 경우, 적어도 하나의 다른 서브세트의 디코딩된 미리 결정된 블록에 대하여 결정되었던 것과 같이, 상기 첫 번째 블록에 대한 심볼 발생의 확률들을 결정하는, 현재 블록에 대한 심볼 발생의 확률들의 결정하기 위한 수단을 포함하고,
상기 현재 블록이 고려중인 서브세트의 마지막 디코딩된 블록인 경우, 상기 초기화 서브-수단은 상기 엔트로피 디코딩 모듈의 상기 상태 변수들을 재초기화하도록 활성화되는 점에 주목할 만하다.
본 발명은 또한 프로그램이 컴퓨터에 의해 실행되는 경우, 앞서 설명한 코딩 또는 디코딩 방법의 단계들의 실행을 위한 명령들을 포함하는 컴퓨터 프로그램을 목적으로 한다.
이런 프로그램은 임의의 프로그래밍 언어를 사용할 수 있고, 소스 코드, 목적 코드(object code), 또는 부분적으로 컴파일된 형태와 같은, 소스 코드와 목적 코드 사이의 중간 코드의 형태 또는 임의의 다른 바람직한 형태일 수 있다.
본 발명의 또 다른 주제는 또한 컴퓨터에 의해 판독 가능하고 상술한 바와 같은 컴퓨터 프로그램 명령들을 포함하는 기록 매체를 목적으로 한다.
기록 매체는 프로그램을 저장할 수 있는 임의의 엔티티 또는 디바이스일 수 있다. 예를 들면, 이런 매체는 ROM과 같은 저장 수단, 예를 들면, CD ROM 또는 마이크로 전자 회로 ROM, 또는 그 외의 자기 기록 수단, 예를 들면, 디스켓(플로피 디스크) 또는 하드 디스크를 포함할 수 있다.
게다가, 이런 기록 매체는 전기 또는 광학 케이블을 통하여, 무선에 의해, 또는 다른 수단에 의해 전달될 수 있는 전기 또는 광학 신호와 같은 전달 가능한 매체일 수 있다. 본 발명에 따른 프로그램은 특히 인터넷 유형의 네트워크로부터 다운로드될 수 있다.
대안적으로, 이런 기록 매체는 프로그램이 그 안에 통합되는 집적회로일 수 있고, 회로는 검토중인 방법을 실행하기 위해 또는 프로그램의 실행에 사용되도록 적응될 수 있다.
상술한 코딩 디바이스, 디코딩 방법, 디코딩 디바이스 및 컴퓨터 프로그램들은 본 발명에 따른 코딩 방법에 의해 부여되는 것들과 적어도 동일한 장점을 나타낸다.
다른 특징들 및 장점들은 도면들을 참조하여 설명된 2개의 바람직한 실시예들을 읽을 때 명백하게 될 것이다.
- 도 1은 종래 기술의 이미지 코딩 다이어그램을 도시하고,
- 도 2a는 본 발명에 따른 코딩 방법의 주요 단계들을 도시하며,
- 도 2b는 도 2a의 코딩 방법에서 실시되는 코딩을 상세하게 도시하고,
- 도 3a는 본 발명에 따른 코딩 디바이스의 제 1 실시예를 도시하며,
- 도 3b는 도 3a의 코딩 디바이스의 코딩 유닛을 도시하고,
- 도 3c는 본 발명에 따른 코딩 디바이스의 제 2 실시예를 도시하며,
- 도 4a는 제 1 바람직한 실시예에 따른 이미지 코딩/디코딩 다이어그램을 도시하고,
- 도 4b는 제 2 바람직한 실시예에 따른 이미지 코딩/디코딩 다이어그램을 도시하며,
- 도 5a는 본 발명에 따른 디코딩 방법의 주요 단계들을 도시하고,
- 도 5b는 도 5a의 디코딩 방법에서 실시되는 디코딩을 상세하게 도시하며,
- 도 6a는 본 발명에 따른 디코딩 디바이스의 실시예를 도시하고,
- 도 6b는 도 6a의 디코딩 디바이스의 디코딩 유닛을 도시하며,
- 도 7a는 순차적 유형의 코딩 및 병렬 유형의 디코딩을 실시하는 이미지 코딩/디코딩 다이어그램을 도시하고,
- 도 7b는 각각 상이한 병렬 계산의 레벨들로 병렬 유형의 코딩/디코딩을 실시하는 이미지 코딩/디코딩 다이어그램을 도시한다.
- 도 2a는 본 발명에 따른 코딩 방법의 주요 단계들을 도시하며,
- 도 2b는 도 2a의 코딩 방법에서 실시되는 코딩을 상세하게 도시하고,
- 도 3a는 본 발명에 따른 코딩 디바이스의 제 1 실시예를 도시하며,
- 도 3b는 도 3a의 코딩 디바이스의 코딩 유닛을 도시하고,
- 도 3c는 본 발명에 따른 코딩 디바이스의 제 2 실시예를 도시하며,
- 도 4a는 제 1 바람직한 실시예에 따른 이미지 코딩/디코딩 다이어그램을 도시하고,
- 도 4b는 제 2 바람직한 실시예에 따른 이미지 코딩/디코딩 다이어그램을 도시하며,
- 도 5a는 본 발명에 따른 디코딩 방법의 주요 단계들을 도시하고,
- 도 5b는 도 5a의 디코딩 방법에서 실시되는 디코딩을 상세하게 도시하며,
- 도 6a는 본 발명에 따른 디코딩 디바이스의 실시예를 도시하고,
- 도 6b는 도 6a의 디코딩 디바이스의 디코딩 유닛을 도시하며,
- 도 7a는 순차적 유형의 코딩 및 병렬 유형의 디코딩을 실시하는 이미지 코딩/디코딩 다이어그램을 도시하고,
- 도 7b는 각각 상이한 병렬 계산의 레벨들로 병렬 유형의 코딩/디코딩을 실시하는 이미지 코딩/디코딩 다이어그램을 도시한다.
코딩 부분의 제 1 실시예의 상세한 설명
본 발명의 실시예가 이제 설명될 것이고, 여기서, 본 발명에 따른 코딩 방법은 H.264/MPEG-4 AVC 표준을 따르는 코딩에 의해 획득되는 것과 많이 유사한 이진 스트림에 따른 이미지들의 시퀀스를 코딩하도록 사용된다. 이런 실시예에서, 본 발명에 따른 코딩 방법은, 예를 들면, 초기에 H.264/MPEG-4 AVC 표준을 따르는 코더의 수정들에 의해 소프트웨어 또는 하드웨어 방식으로 실시된다. 본 발명에 따른 코딩 방법은 도 2a에 도시된 단계들(C1 내지 C5)을 포함하는 알고리즘의 형태로 도시된다.
본 발명의 실시예에 따르면, 본 발명에 따른 코딩 방법은 코딩 디바이스(CO)에서 실시되는데, 이들 중 2개의 실시예들이 도 3a 및 도 3c에 각각 도시된다.
도 2a를 참조하여, 제 1 코딩 단계(C1)는, 도 4a 또는 도 4b에 도시된 바와 같이, 코딩될 이미지들의 시퀀스의 이미지(IE)를 복수의 블록들 또는 매크로-블록들(MB)로 세그먼트화하는 단계이다. 상기 매크로-블록들은 하나 또는 둘 이상의 심볼들을 포함할 수 있고, 상기 심볼들은 미리 결정된 심볼들의 세트의 일부를 형성한다. 도시된 예들에서, 상기 블록들(MB)은 정사각형 형상을 갖고 모두가 동일한 크기를 갖는다. 반드시 블록들의 크기의 배수일 필요는 없는 이미지의 크기의 함수로서, 좌측 상의 마지막 블록들 및 하부에서 마지막 블록들은 정사각형이 아닐 수 있다. 대안적인 실시예에서, 블록들은 예를 들면, 직사각형 크기일 수 있고, 및/또는 서로 정렬되지 않을 수 있다.
각 블록 또는 매크로블록은 게다가 그 자체로 그것들 자체가 세분될 수 있는(subdividable) 서브-블록들로 분할될 수 있다.
이런 세그먼트화는, 예를 들면, 그런 잘 알려진 파티션 알고리즘을 사용하는 도 3a에 도시된 파티션(partition) 모듈(PCO)에 의해 수행된다.
도 2a를 참조하여, 제 2 코딩 단계(C2)는 상술한 블록들을 순차적으로 또는 병렬로 코딩되도록 의도된, 미리 결정된 수(P)의 연속하는 블록들의 서브세트들(SE1, SE2,...,SEk,...SEP)로 분류하는 단계이다. 도 4a 및 도 4b에 도시된 예들에서, P=6이지만, 도면들의 명확성을 위해 단지 4개의 서브세트들(SE1, SE2, SE3, SE4)만 도시된다. 이들 4개의 블록들의 서브세트들은 각각 대시(dash) 도시되고, 이미지(IE)의 첫 번째 4개의 블록들의 열들로 각각 구성된다.
이런 분류는 그 자체로 잘 알려진 알고리즘으로 도 3a에 도시된 연산 모듈(GRCO)에 의해 수행된다.
도 2a를 참조하여, 제 3 코딩 단계(C3)는 상기 블록들의 서브세트들(SE 1 내지 SE 6)의 각각을 코딩하는 단계에 상응하고, 고려중인 서브세트의 블록들은 순회(PS)의 미리 결정된 순서에 따라 코딩되는데, 이는, 예를 들면, 순차적 유형이다. 도 4a 및 도 4b에 도시된 예들에서, 현재 서브세트(SEk(1≤k≤P))의 블록들은 화살표 PS에 의해 지시된 바와 같이, 좌측에서 우측으로 차례로 코딩된다.
제 1 변형예에 따르면, 이런 코딩은 순차적인 유형이고, 도 3a에 도시된 바와 같은 단일 코딩 유닛(UC)에 의해 실시된다. 그 자체로 알려진 방식으로, 코더(CO)는 현재 블록의 코딩과 협력하여 계속적으로 재갱신되는 바와 같은 심볼 발생 확률들을 포함하도록 적응되는 버퍼 메모리(MT)를 포함한다.
도 3b에 더 상세하게 도시된 바와 같이, 코딩 유닛(UC)은 다음을 포함한다 :
● 적어도 하나의 이전 코딩 및 디코딩된 블록에 대하여 현재 블록을 예측 코딩하기 위한 모듈, MCP로 지시됨;
● 상기 이전 코딩 및 디코딩된 블록들에 대하여 연산된 적어도 하나의 심볼 발생의 확률을 이용함으로써 상기 현재 블록을 엔트로피 코딩하기 위한 모듈, MCE로 지시됨.
예측 코딩 모듈(MCP)은, 예를 들면, 인트라 및/또는 인터 모드에서와 같은, 종래의 예측 기법들에 따라 현재 블록의 예측 코딩을 수행할 수 있는 소프트웨어 모듈이다.
엔트로피 코딩 모듈(MCE)은 CABAC 유형의 그 일부이지만, 설명부에서 더 설명될 것과 같이, 본 발명에 따라 수정된다.
변형예로서, 엔트로피 코딩 모듈(MCE)은 그 자체로 알려진 허프만(Huffman) 코더일 수 있다.
도 4a 및 도 4b에 도시된 예들에서, 유닛(UC)은 첫 번째 열(SE1)의 블록들을 좌측에서 우측으로 코딩한다. 그것이 첫 번째 열(SE1)의 마지막 블록에 도달하면, 그것은 두 번째 열(SE2)의 첫 번째 블록으로 이동한다. 그것이 두 번째 열(SE2)의 마지막 블록에 도달하면, 그것은 세 번째 열(SE3)의 첫 번째 블록으로 이동한다. 그것이 세 번째 열(SE3)의 마지막 블록에 도달하면, 그것은 네 번째 열(SE4)의 첫 번째 블록으로 이동하고, 이미지(IE)의 마지막 블록이 코딩될 때까지, 이런 식이다.
앞서 방금 설명되었던 것과 다른 유형들의 순회도 물론 가능하다. 따라서, 이미지(IE)를 몇 개의 서브-이미지들로 세그먼트화하고 이런 유형의 세그먼트화를 각각의 서브-이미지에 독립적으로 적용하는 것이 가능하다. 각 코딩 유닛이, 앞서 설명된 바와 같이, 연속한 열들이 아니라 연속한 행들을 처리하는 것이 또한 가능하다. 열들 또는 행들 중 어느 방향으로든 순회하는 것이 또한 가능하다.
제 2 변형예에 따르면, 이런 코딩은 병렬 유형이고, 단지 그것은 도 3c에 도시된 예에서 R=2인, 미리 결정된 수(R)의 코딩 유닛들(UCk(1≤k≤R))에 의해 실시된다는 사실에 의해서 순차적인 코딩의 제 1 변형예와 구분된다. 이런 병렬 코딩은 코딩 방법의 상당한 가속화를 야기한다고 알려진다.
코딩 유닛들(UCk) 각각은 도 3b에서 도시된 코딩 유닛(UC)과 동일하다. 대응하는 방식으로, 코딩 유닛(UCk)은 예측 코딩 모듈(MCPk) 및 엔트로피 코딩 모듈(MCEk)을 포함한다.
도 4a 및 도 4b를 다시 참조하여, 제 1 유닛(UC1)은, 예를 들면, 홀수 번째의 열들의 블록들을 코딩하는 한편, 제 2 유닛(UC2)은, 예를 들면, 짝수 번째의 열들의 블록들을 코딩한다. 더 정확하게, 제 1 유닛(UC1)은 첫 번째 열(SE1)의 블록들을 좌측에서 우측으로 코딩한다. 그것이 첫 번째 열(SE1)의 마지막 블록에 도달하면, 그것은 (2n+1) 번째 열, 즉, 세 번째 열(SE3)의 첫 번째 블록으로 이동하는 식이다. 제 1 유닛(UC1)에 의해 수행되는 프로세싱에 병렬로, 제 2 유닛(UC2)은 두 번째 열(SE2)의 블록들을 좌측에서 우측으로 코딩한다. 그것이 두 번째 열(SE2)의 마지막 블록에 도달하면, 그것은 (2n) 번째 열, 여기서는 네 번째 열(SE4)의 첫 번째 블록으로 이동하는 식이다. 상술한 두 개의 순회들은 이미지(IE)의 마지막 블록이 코딩될 때까지, 반복된다.
도 2a를 참조하여, 제 4 코딩 단계(C4)는 상술한 코딩 유닛(UC) 또는 상술한 코딩 유닛들(UCk)의 각각에 의해 압축된 처리된 블록들을 나타내는 L개의 서브-스트림들(F1, F2,..., Fm,..., FL(1≤m≤L≤P))의 비트들뿐만 아니라, 각 서브세트(SEk)의 처리된 블록들의 디코딩된 버전의 생성이다. SED1, SED2,..., SEDk,..., SEDP로 표시된 고려중인 서브세트의 디코딩된 처리된 블록들은 설명부에서 더 상세하게 될 동기화 메커니즘에 따라 도 3a에 도시된 코딩 유닛(UC) 또는 도 3c에 도시된 코딩 유닛들(UCk)의 각각에 의해 재사용될 수 있다.
도 3b를 참조하여, L개의 서브-스트림들을 생성하는 단계는 예를 들면, 비트들과 같은 데이터 스트림들을 생성하도록 적응되는 스트림 발생 소프트웨어 모듈(MGSF 또는 MGSFk)에 의해 실시된다.
도 2a를 참조하여, 제 5 코딩 단계(C5)는 상술한 L개의 서브-스트림들(F1, F2,..., Fm,..., FL)에 기반하여 전체(global) 스트림(F)을 구성하는 단계에 상응한다. 일 실시예에 따르면, 서브-스트림들(F1, F2,..., Fm,..., FL)은 전체 스트림(F)에서 각각의 서브-스트림(Fm)의 위치를 디코더로 나타내도록 의도된 정보의 추가 항목과 단지 병치된다(juxtapose). 전체 스트림은 그 후에 통신 네트워크(미도시)에 의해 원격 단말로 전송된다. 원격 단말은 도 5a에 도시된 디코더(DO)를 포함한다. 그것이 디코딩 및 그 다음 이미지의 재-인코딩을 필요로 하지 않기 때문에 특별히 유리한 다른 실시예에 따르면, 코더(CO)는, 스트림(F)을 디코더(DO)로 전송하기 이전에, 디코더(DO)가 서브-스트림들을 디코딩할 수 있는 순서에 대응하는 미리 결정된 순서로 L개의 서브-스트림들(F1, F2,..., Fm,..., FL)을 미리 정렬한다.
따라서, 설명부에서 더 상세하게 설명될 것과 같이, 본 발명에 따른 디코더는 전체 스트림(F) 내의 서브-스트림들(F1, F2,..., Fm,..., FL)을 분리시키고 그리고 디코더를 구성되는 하나 또는 둘 이상의 디코딩 유닛들로 그것들을 할당할 수 있다. 전체 스트림에서의 서브-스트림들의 이런 분해는 병렬로 동작하는 단일 코딩 유닛 또는 그 밖의 몇몇 코딩 유닛들의 사용의 선택과 무관하고, 이런 접근법에 의해 병렬로 동작하는 유닛들을 포함하는 코더만 또는 디코더만 갖는 것이 가능함에 주목될 것이다.
전체 스트림(F)의 이런 구성은 도 3a 및 도 3c에 도시된 바와 같은 스트림 구성 모듈(CF)에서 실시된다.
상술한 코딩 단계(C3) 동안, 코딩 유닛(UC 또는 UCk)에서 실시되는 바와 같은 본 발명의 다양한 특정 서브-단계들은 도 2b를 참조하여 이제 설명될 것이다.
단계 C31의 과정에서, 코딩 유닛(UC 또는 UCk)은, 예를 들면, 첫 번째 열(SE1)과 같은, 도 4a 또는 도 4b에 도시된 현재 열(SEk)의 코딩될 첫 번째 블록을 현재 블록으로서 선택한다.
단계 C32의 과정에서, 유닛(UC 또는 UCk)은 현재 블록이 상술한 단계 C1에서 블록들로 세그먼트화되었던 이미지(IE)의 첫 번째 블록(상부에서 그리고 좌측에 위치된)인지의 여부를 검사한다.
그런 경우이면, 단계 C33의 과정에서, 엔트로피 코딩 모듈(MCE 또는 MCEk)은 그것의 상태 변수들의 초기화를 착수한다. 이전에 설명된 산술 코딩을 이용하는 도시된 예에 따르면, 이는 미리 결정된 심볼들의 세트에 포함된 심볼의 발생의 확률을 나타내는 간격의 초기화를 수반한다. 그 자체로 알려진 방식으로, 이런 간격은 각각 아래 및 위의 2개의 한계들(L 및 H)로 초기화된다. 하한(L)의 값은 0으로 고정되는 반면, 상한의 값은 1로 고정되며, 그에 의해 미리 결정된 심볼들의 세트의 모든 심볼들 중에서 첫 번째 심볼의 발생의 확률에 대응한다. 이런 간격의 크기(R)는 따라서 R = H - L = 1에 의해 이런 시점에서 정의된다. 초기화된 간격은 관례적으로 미리 결정된 심볼들의 세트의 심볼들의 발생의 확률들을 각각 나타내는 복수의 미리 결정된 서브-간격들로 더 파티션된다(partitioned).
변형예로서, 사용된 엔트로피 코딩이 LZW 코딩인 경우, 심볼들의 스트링들의 변환 테이블은 초기화되고, 그래서 그것은 한번 및 단 한번만 가능한 심볼들 모두를 포함한다.
상술한 단계 C32 다음에, 현재 블록이 이미지(IE)의 첫 번째 블록이 아닌 경우, 다음의 설명부에서 나중에 설명될 단계 C40의 과정에서, 필요한 이전에 코딩 및 디코딩된 블록들의 이용가능성의 결정이 착수된다.
단계 C34의 과정에서, 도 4a 또는 도 4b에 도시된 첫 번째 열(SE1)의 첫 번째 현재 블록 MB1의 코딩이 착수된다. 이런 단계 C34는 이하에 설명될 복수의 서브-단계들 C341 내지 C348을 포함한다.
도 2b에서 도시된 첫 번째 서브-단계 C341의 과정에서, 블록 MB1이 적어도 하나의 이전에 코딩 및 디코딩된 블록들에 대하여 예측되는 과정에서, 현재 블록 MB1의 예측 코딩이 인트라 및/또는 인터 예측의 알려진 기법들에 의해 착수된다.
H.246 표준에서 제안된 바와 같은 인트라 예측의 다른 모드들이 가능함은 말할 필요도 없다.
현재 블록 MB1은, 현재 블록이 이전에 코딩 및 디코딩된 이미지에 기인한 블록에 대하여 예측되는 과정에서, 또한 인터 모드로 예측 코딩이 또한 이루어질 수 있다. 다른 유형들의 예측을 물론 생각할 수 있다. 현재 블록에 대하여 가능한 예측들 중에서, 최적 예측이 당업자에게 잘 알려진 비트 전송률 왜곡(bitrate distortion) 기준에 따라 선택된다.
상기 상술한 예측 코딩 단계는 현재 블록 MB1의 근삿값인 예측된 블록 MBp1 을 구성하는 것을 가능하게 한다. 이런 예측 코딩과 관련된 정보는 다음에 디코더(DO)로 전송되는 스트림(F)에 기록될 것이다. 이런 정보는 특히 예측의 유형(인터 또는 인트라), 및 적합하면, 인트라 예측의 모드, 블록 또는 매크로블록이 세분되었던 경우, 블록 또는 매크로블록의 파티션의 유형, 기준 이미지 인덱스 및 인터 예측 모드에서 사용된 변위 벡터를 포함한다. 이런 정보는 코더(CO)에 의해 압축된다.
다음의 서브-단계 C342의 과정에서, 잔차 블록 MBr1을 생성하기 위해 현재 블록 MB1에서 예측된 블록 MBp1의 감산이 착수된다.
다음의 서브-단계 C343의 과정에서, 변환된 블록 MBt1을 생성하기 위해, 예를 들면, DCT 유형의 이산 코사인 변환과 같은 종래의 직접 변환 동작에 따라 잔차 블록 MBr1의 변환이 착수된다.
다음의 서브-단계 C344의 과정에서, 예를 들면, 스칼라 양자화와 같은 종래의 양자화 동작에 따라 변환된 블록 MBt1의 양자화가 착수된다. 양자화된 계수들의 블록 MBq1이 그 다음 획득된다.
다음의 서브-단계 C345의 과정에서, 양자화된 계수들의 블록 MBq1의 엔트로피 코딩이 착수된다. 바람직한 실시예에서, 이는 CABAC 엔트로피 코딩을 수반한다. 이런 단계는,
a) 상기 현재 블록과 연관되는 미리 결정된 심볼들의 세트의 심볼 또는 심볼들을 판독하고,
b) 비트들과 같은 디지털 정보를 판독된 심볼(들)과 연관하는 것에 상응한다.
사용된 코딩이 LZW 코딩인 상술한 변형예에서, 현재 변환 테이블에서 심볼의 코드에 대응하는 정보의 디지털 항목이 코딩될 심볼들과 연관되고, 변환 테이블의 갱신은 그 자체로 알려진 절차를 따라 수행된다.
다음의 서브-단계 C346의 과정에서, 블록 MBq1의 역양자화(dequantization)가 종래의 역양자화 동작에 따라 착수되는데, 이는 단계 C344에서 수행된 양자화의 반대 동작이다. 역양자화된 계수들의 블록 MBDq1이 그 다음 획득된다.
다음의 서브-단계 C347의 과정에서, 위의 단계 C343에서 수행된 직접 변환의 반대의 동작인 역양자화된 계수들의 블록 MBDq1의 역변환이 착수된다. 디코딩된 잔차 블록 MBDr1이 그 다음 획득된다.
다음의 서브-단계 C348의 과정에서, 예측된 블록 MBp1를 디코딩된 잔차 블록 MBDr1에 가산함으로써 디코딩된 블록 MBD1의 구성이 착수된다. 디코딩된 잔차 블록은 설명부에서 더 상세하게 설명될 이미지(IE)를 디코딩하는 방법의 종료시 획득된 디코딩된 블록과 동일한 것임에 유의해야 한다. 디코딩된 블록 MBD1은 따라서 코딩 유닛(UCk) 또는 미리 결정된 수(R)의 코딩 유닛들 중 일부를 형성하는 임의의 다른 코딩 유닛에 의해 사용되도록 이용가능하게 제공된다.
상술한 코딩 단계 C34의 종료시, 도 3b에 도시된 바와 같은 엔트로피 코딩 모듈(MCE 또는 MCEk)은 첫 번째 블록의 코딩과 협력하여 계속하여 재갱신된 바와 같은 확률들 모두를 포함한다. 이들 확률들은 가능한 구문들(syntaxes)의 다양한 성분들 및 다양한 관련된 코딩 콘텍스트들에 대응한다.
상술한 코딩 단계 C34 다음에, 단계 C35의 과정에서, 현재 블록이 이런 동일 열의 j 번째 블록인지의 여부를 결정하기 위한 검사가 수행되는데, 여기서 j는 적어도 1과 같은 코더(CO)에 알려진 미리 결정된 값이다.
그런 경우이면, 도 2b에 도시된 단계 C36의 과정에서, j 번째 블록에 대하여 연산된 확률들의 세트가 도 3a 또는 도 3b 및 도 4a 및 도 4b에 도시된 바와 같은 코더(CO)의 버퍼 메모리(MT)에 저장되고, 상기 메모리의 크기는 연산된 수의 확률들을 저장하도록 적응된다.
도 2b에 도시된 단계 C37의 과정에서, 코딩 유닛(UC 또는 UCk)은 방금 코딩되었던 열(SEk)의 현재 블록이 이미지(IE)의 마지막 블록인지의 여부를 검사한다. 이런 단계는 또한 단계 C35의 과정에서 현재 블록이 열(SE1)의 j번째 블록이 아닌 경우 실시된다.
현재 블록이 이미지(IE)의 마지막 블록인 경우, 단계 C38의 과정에서, 코딩 방법은 종료된다.
이런 경우가 아니면, 단계 C39의 과정에서, 도 4a 또는 도 4b에서의 화살표 PS에 의해 도시된 순회의 순서에 따라 코딩될 다음 블록 MBi의 선택이 착수된다.
도 2b에 도시된 단계 C40의 과정에서, 현재 블록 MBi을 코딩하기 위해 필요한 이전에 코딩 및 디코딩된 블록들의 이용가능성의 결정이 착수된다.
이것이 첫 번째 열(SE1)인 경우, 이런 단계는 코딩될 현재 블록 MBi의 좌측에 위치된 적어도 하나의 블록의 이용가능성을 확인하는 단계에 상응한다. 그러나, 도 4a 또는 도 4b에 도시된 실시예에서 선택된 순회 PS의 순서를 고려하면, 블록들은 고려중인 열(SEk)에서 차례로 코딩된다. 그 결과, 좌측의 코딩 및 디코딩된 블록은 항상 이용가능하다(열의 첫 번째 블록을 제외하고). 도 4a 또는 도 4b에 도시된 예에서, 이는 코딩될 현재 불록의 바로 좌측에 위치된 블록이다.
이것이 첫 번째 열과 상이한 열(SEk)인 경우, 상기 결정 단계는 더욱이, 이전 열(SEk-1)에 위치된 미리 결정된 수 (N')의 블록들, 예를 들면, 현재 블록의 위 및 우측 위에 각각 위치된 2개의 블록들이 현재 블록의 코딩을 위해 이용가능한지의 여부, 즉, 그것들이 코딩 유닛(UC 또는 UCk-1)에 의해 이미 코딩되었고 그 다음 디코딩되었는지의 여부를 확인하는 단계에 상응한다.
이런 검사 단계가 코딩 방법을 느리게 하는 경향이 있기 때문에, 본 발명에 따른 대안적인 방식으로, 열들의 코딩이 병렬 유형인 경우, 도 3c에 도시된 클록(CLK)이, 현재 블록의 위 및 우측 위 각각에 위치된 2개의 블록들의 이용가능성을 확인할 필요없이, 이들 2개의 블록들의 이용가능성을 보장하도록 블록들의 코딩의 진행을 동기화하도록 적응된다. 따라서, 코딩 유닛(UCk)은, 현재 블록의 코딩을 위해 사용되는 이전 열(SEk-1)의 미리 결정된 수 N'(예를 들면, N'=2)개의 코딩 및 디코딩된 블록들의 시프트로 항상 첫 번째 블록을 코딩하도록 개시한다. 소프트웨어 관점에서, 이런 클록의 실시는 코더(CO)에서 이미지(IE)의 블록들을 처리하기 위한 시간을 현저하게 가속하는 것을 가능하게 한다.
도 2b에 도시된 단계 C41의 과정에서, 현재 블록이 고려중인 열(SEk)의 첫 번째 블록인지의 여부를 결정하기 위한 검사가 수행된다.
그런 경우이면, 단계 C42의 과정에서, 이전 열(SEk-1)의 j 번째 블록의 코딩 동안 연산된 심볼 발생 확률들만의 버퍼 메모리(MT)에서의 판독이 착수된다.
도 4a에 도시된 제 1 변형예에 따르면, j 번째 블록은 이전 열(SEk-1)의 첫 번째 블록(j=1)이다. 이런 판독은 CABAC 코더의 확률들을 버퍼 메모리(MT)에 존재하는 것으로 대체하는 것에 상응한다. 메모리가 두 번째, 세 번째 및 네 번째 열들(SE2, SE3 및 SE4)의 첫 번째 각 블록들을 수반하기 때문에, 이런 판독 단계는 얇은 선들에 의해 표시된 화살표들에 의해 도 4a에 도시된다.
도 4b에 도시되는 상술한 단계 C43의 제 2 변형예에 따르면, j 번째 블록은 이전 열(SEk-1)의 두 번째 블록(j=2)이다. 이런 판독은 CABAC 코더의 확률들을 버퍼 메모리(MT)에 존재하는 것으로 대체하는 것에 상응한다. 메모리가 두 번째, 세 번째 및 네 번째 열들(SE2, SE3 및 SE4)의 첫 번째 각 블록들을 수반하기 때문에, 이런 판독 단계는 얇은 대시 선들에 의해 표시된 화살표들에 의해 도 4b에 도시된다.
단계 C42의 다음에, 현재 블록은 위에서 설명된 단계들 C34 내지 C38의 반복에 의해 코딩되고 그 다음 디코딩된다.
상술한 단계 C41의 다음에, 현재 블록이 고려중인 열(SEk)의 첫 번째 블록이 아니면, 동일 열(SEk)에 위치되는 이전에 코딩 및 디코딩된 블록, 즉, 도시된 예에서 현재 블록의 바로 좌측에 위치된 코딩 및 디코딩된 블록에 기인하는 확률들의 판독은 유리하게 착수되지 않는다. 실제로, 도 4a 또는 도 4b에 도시된 바와 같이, 동일 열에 위치된 블록들의 판독을 위한 순차적 순회 PS를 고려하면, 현재의 블록의 코딩이 시작하는 순간에 CABAC 코더에 존재하는 심볼 발생 확률들은 틀림없이 이런 동일 열의 이전 블록의 코딩/디코딩 이후에 존재하는 것들이다.
그 결과, 도 2b에 도시된 단계 C43의 과정에서, 상기 현재 블록의 엔트로피 코딩에 대한 심볼 발생의 확률들의 학습이 착수되는데, 이런 확률들은 도 4a 또는 도 4b의 이중 실선 화살표들에 의해 도시된 바와 같이, 동일 열의 상기 이전 블록에 대하여 연산되었던 것에만 대응한다.
단계 C43의 다음에, 현재 블록은 앞서 설명된 단계들 C34 내지 C38의 반복에 의해 코딩되고 그 다음 디코딩된다.
단계 C44의 과정에서, 현재 블록이 고려중인 열(SEk)의 마지막 블록인지의 여부를 결정하기 위한 검사가 그 다음에 수행된다.
이것이 그 경우가 아니면, 단계 C44 다음에, 코딩될 다음 블록 MBi을 선택하는 단계 C39가 다시 실시된다.
현재 블록이 고려중인 열(SEk)의 마지막 블록인 경우, 단계 C45의 과정에서, 도 3a 또는 도 3c의 코딩 디바이스(CO)는 설명부에서 상술한 바와 같이 비움을 수행한다. 이런 목적을 위해, 모듈(MGSFk)이 고려중인 상기 열(SEk)의 코딩된 블록들을 나타내는 이진 트레인을 포함하는 데이터 서브-스트림(Fm)에, 고려중인 상기 열(SEk)의 각 블록의 코딩 동안 판독된 심볼(들)과 연관되었던 비트들의 전체를 기록하는 방식으로, 상기 코딩 유닛(UCk)은 대응하는 서브-스트림 생성 모듈(MGSFk)로, 비트들의 전체를 전송한다. 이런 비움은 도 4a 및 도 4b에서 각 열(SEk)의 끝에 삼각형으로 기호화된다.
도 2b에 도시된 단계 C46의 과정에서, 코딩 유닛(UC 또는 UCk)은 상술한 단계 C33과 동일한 단계를 수행하고, 즉, 미리 결정된 심볼들의 세트에 포함된 심볼의 발생의 확률을 나타내는 간격을 다시 초기화한다. 이런 재초기화는 도 4a 및 도 4b에서 각 열(SEk)의 시작에서 검정 점으로 도시된다.
단계들 C45 및 C46을 코딩의 이런 레벨로 수행하는 이점은 코딩 유닛(UC) 또는 코딩 유닛(UCk)에 의해 처리되는 다음 블록의 코딩 동안, 코더(CO)가 초기화된 상태라는 것이다. 따라서, 설명부에서 더 설명될 것과 같이, 그것이 초기화된 상태에 있게 되기에 충분하기 때문에, 병렬로 작동하는 디코딩 유닛이 이런 점으로부터 압축된 스트림(F)을 직접 디코딩하는 것을 가능하게 한다.
디코딩 부분의 실시예의 상세한 설명
본 발명에 따른 디코딩 방법의 실시예가 이제 설명될 것이고, 여기서, 디코딩 방법은 초기에 H.264/MPEG-4 AVC 표준을 따르는 디코더의 수정예들에 의해 소프트웨어 또는 하드웨어 방식으로 실시된다.
본 발명에 따른 디코딩 방법은 도 5a에 도시된 단계들(D1 내지 D4)을 포함하는 알고리즘의 형태로 도시된다.
본 발명의 실시예들에 따르면, 본 발명에 따른 디코딩 방법은 도 6a에 도시된 디코딩 디바이스(DO)에서 실시된다.
도 5a를 참조하여, 제 1 디코딩 단계(D1)는, 도 4a 또는 도 4b에 도시된 바와 같이, 이전에 코딩된 블록들 또는 매크로블록 MB의 P개의 서브세트들(SE1, SE2,..., SEk,...,SEP) 각각을 포함하는 L개의 서브-스트림들(F1, F2,...,Fm,..., FL)의 상기 스트림(F)에서의 식별이다. 이런 목적을 위해, 스트림(F)의 각 서브-스트림(Fm)은 디코더(DO)가 스트림(F)의 각각의 서브-스트림(Fm)의 위치를 결정하게 하도록 의도된 표시자와 연관된다. 변형예로서, 상술한 코딩 단계 C3의 종료시, 코더(CO)는 스트림(F)에서 서브-스트림들(F1, F2,..., Fm,..., FL)을 디코더(DO)에 의해 기대된 순서로 정렬하고, 그에 의해 서브-스트림 표시자들의 스트림(F) 내로의 삽입을 방지한다. 이런 제공은 따라서 데이터 스트림(F)의 비트 전송률의 면에서 비용을 감소하는 것을 가능하게 한다.
도 4a 또는 도 4b에 도시된 예에서, 상기 블록들 MB는 정사각형 형상을 갖고, 모두가 동일 크기를 갖는다. 반드시 블록들의 크기의 배수일 필요가 없는 이미지의 크기에 따라, 좌측 상의 마지막 블록들 및 하부에서의 마지막 블록들은 정사각형이 아닐 수 있다. 대안적인 실시예에서, 블록들은 예를 들면, 직사각형 크기일 수 있고 및/또는 서로 정렬되지 않을 수 있다.
각 블록 또는 매크로블록은 게다가 그 자체로 그것들 자체가 세분될 수 있는 서브-블록들로 분할될 수 있다.
이런 식별은 도 6a에 도시된 바와 같은 스트림 추출 모듈(EXDO)에 의해 수행된다.
도 4a 또는 도 4b에 도시된 예에서, 미리 결정된 수 P는 6과 같지만, 도면들의 명료성을 위해, 단지 4개의 서브세트들(SE1, SE2, SE3, SE4)만이 대시로 도시된다.
도 5a를 참조하여, 제 2 디코딩 단계(D2)는 블록들의 상기 서브세트들(SE1, SE2, SE3 및 SE4)의 각각을 디코딩하는 단계이고, 고려중인 서브세트의 블록들은 순회 PS의 미리 결정된 순차적 순서에 따라 코딩된다. 도 4a 또는 도 4b에 도시된 예들에서, 현재 서브세트(SEk(1≤k≤P))의 블록들은, 화살표 PS에 의해 지시된 바와 같이, 좌측에서 우측으로 차례로 디코딩된다. 단계 D2의 종료시, 디코딩된 블록들의 서브세트들(SED1, SED2, SED3,..., SEDk,..., SEDP)이 획득된다.
이런 디코딩은 순차적 유형일 수 있고, 그 결과, 단일 디코딩 유닛으로 수행될 수 있다.
그러나, 다중플랫폼 디코딩 아키텍쳐로부터 이익을 얻을 수 있도록, 블록들의 서브세트들의 디코딩은 병렬 유형이고, 예를 들면, 도 6a에 도시된 바와 같이, R=4인 다수(R)의 디코딩 유닛들(UDk(1≤k≤R))에 의해 실시된다. 이런 제공은 따라서 디코딩 방법의 상당한 가속을 가능하게 한다. 그 자체로 알려진 방식으로, 디코더(DO)는 현재 블록의 디코딩과 협력하여 계속적으로 재갱신되는 바와 같은 심볼 발생 확률들을 포함하도록 적응되는 버퍼 메모리(MT)를 포함한다.
도 6b에 더 상세하게 도시된 바와 같이, 디코딩 유닛들(UDk)의 각각은 다음을 포함한다 :
● 적어도 하나의 이전 디코딩된 블록에 대하여 연산된 적어도 하나의 심볼 발생의 확률을 학습함으로써 상기 현재 블록을 엔트로피 디코딩하기 위한 모듈, MDEk로 지시됨,
● 상기 이전 디코딩된 블록들에 대하여 현재 블록의 예측 디코딩을 하기 위한 모듈, MDPk로 지시됨.
예측 디코딩 모듈(SUDPk)은, 예를 들면, 인트라 및/또는 인터 모드와 같은 종래의 예측 기법들에 따라, 현재 블록의 예측 디코딩을 수행할 수 있다.
엔트로피 디코딩 모듈(MDEk)은 CABAC 유형의 그 일부이지만, 설명부에서 더 설명될 것과 같이, 본 발명에 따라 수정된다.
변형예로서, 엔트로피 디코더 모듈(MDEk)은 그 자체로 알려진 허프만 디코더일 수 있다.
도 4a 또는 도 4b에 도시된 예들에서, 제 1 유닛(UD1)은 첫 번째 열(SE1)의 블록들을 좌측에서 우측으로 디코딩한다. 그것이 첫 번째 열(SE1)의 마지막 블록에 도달하면, 그것은 (N+1) 번째 열, 여기서 5 번째 열의 첫 번째 블록으로 이동하는 식이다. 제 2 유닛(UC2)은 두 번째 열(SE2)의 블록들을 좌측에서 우측으로 디코딩한다. 그것이 두 번째 열(SE2)의 마지막 블록에 도달하면, 그것은 (N+2) 번째 열, 여기서 6 번째 열의 첫 번째 블록으로 이동하는 식이다. 이런 순회는 네 번째 열(SE4)의 블록들을 좌측에서 우측으로 디코딩하는 유닛(UD4)까지 반복된다. 그것이 첫 번째 열의 마지막 블록에 도달하면, 그것은 (N+4) 번째 열, 여기서 8 번째 열의 첫 번째 블록으로 이동하며, 마지막 식별된 서브-스트림의 마지막 블록이 디코딩될 때까지, 이런 식이다.
앞서 방금 설명되었던 것과 다른 유형들의 순회도 물론 가능하다. 예를 들면, 각 디코딩 유닛이, 앞서 설명된 바와 같이, 네스티드(nested) 열들이 아니라 네스티드 행들을 처리할 수 있다. 열들 또는 행들 중 어느 하나의 방향으로 순회하는 것이 또한 가능하다.
도 5a를 참조하여, 제 3 디코딩 단계(D3)는 디코딩 단계 D2에서 획득된 각 디코딩된 서브세트(SED1, SED2,..., SEDk,..., SEDP)에 기반하여 디코딩된 이미지(ID)의 재구성이다. 보다 정확하게는, 각 디코딩된 서브세트(SED1, SED2,..., SEDk,..., SEDP)의 디코딩된 블록들은 도 6a에 도시된 바와 같은 이미지 재구성 유닛(URI)으로 전송된다. 이런 단계 D3의 과정에서, 유닛(URI)은 디코딩된 블록들을, 이런 블록들이 이용 가능하게 되면, 디코딩된 이미지에 기록한다.
도 5a에 도시된 제 4 디코딩 단계(D4)의 과정에서, 완전히 디코딩된 이미지(ID)는 도 6a에 도시된 유닛(URI)에 의해 전달된다.
상술한 병렬 디코딩의 단계 D2 동안, 디코딩 유닛(UDk)에서 실시되는 바와 같은 본 발명의 다양한 특정 서브-단계들은 도 5b를 참조하여 이제 설명될 것이다.
단계 D21의 과정에서, 디코딩 유닛(UDk)은 도 4a 또는 도 4b에 도시된 현재 열(SEk)의 디코딩될 첫 번째 블록을 현재 블록으로서 선택한다.
단계 D22의 과정에서, 디코딩 유닛(UDk)은 현재 블록이 디코딩된 이미지의 첫 번째 블록, 본 예에서 서브-스트림(F1)의 첫 번째 블록인지의 여부를 검사한다.
그런 경우이면, 단계 D23의 과정에서, 엔트로피 디코딩 모듈(MDE 또는 MDEk)은 그의 상태 변수들의 초기화를 착수한다. 도시된 예에 따르면, 이는 미리 결정된 심볼들의 세트에 포함된 심볼의 발생의 확률을 나타내는 간격의 초기화를 수반한다.
변형예로서, 사용된 엔트로피 디코딩이 LZW 디코딩이면, 심볼들의 스트링들의 변환 테이블은 초기화되고, 그래서 그것은 한번 및 한번만 가능한 심볼들 모두를 포함한다. 단계 D23이 상술한 코딩 단계 C33과 동일하기 때문에, 그것은 다음에 설명되지 않을 것이다.
상술한 D22 다음에, 현재 블록이 디코딩된 이미지(ID)의 첫 번째 블록이 아니면, 다음의 설명부에서 나중에 설명될 단계 D30의 과정에서, 필요한 이전에 디코딩된 블록들의 이용가능성의 결정이 착수된다.
단계 D24의 과정에서, 도 4a 또는 도 4b에 도시된 첫 번째 열(SE1)의 첫 번째 현재 블록 MB1의 디코딩이 착수된다. 이런 단계 D24는 이하에 설명될 복수의 서브-단계들 D241 내지 D246을 포함한다.
첫 번째 서브-단계 D241의 과정에서, 현재 블록과 관련된 구문 성분들의 엔트로피 디코딩이 착수된다. 이런 단계는 주로 다음에 상응한다 :
a) 상기 첫 번째 열(SE1)과 연관된 서브-스트림에 포함된 비트들을 판독,
b) 판독된 비트들에 기반하여 심볼들을 재구성.
사용된 디코딩이 LZW 디코딩인 상술한 변형예에서, 현재 변환 테이블에서 심볼의 코드에 대응하는 정보의 디지털 항목이 판독되고, 그 자체로 알려진 절차에 따라, 심볼은 판독된 코드에 기반하여 재구성되며, 변환 테이블의 갱신이 수행된다.
보다 정확하게는, 현재 블록과 관련된 구문 성분들은 도 6b에 도시된 바와 같은 CABAC 엔트로피 디코딩 모듈(MDE1)에 의해 디코딩된다. 이 엔트로피 디코딩 모듈은 구문 성분들을 생성하기 위해 압축된 파일의 비트들의 서브-스트림(F1)을 디코딩하고, 동시에, 이런 모듈이 심볼을 디코딩할 때, 이런 심볼의 발생의 확률들이, 상술한 엔트로피 코딩 단계 C345 동안, 이런 동일한 심볼의 코딩 동안 획득된 것과 동일하게 되도록 하는 방법으로 그것의 확률들을 재갱신한다.
다음의 서브-단계 D242의 과정에서, 블록 MB1이 적어도 하나의 이전에 디코딩된 블록에 대하여 예측되는 과정에서, 현재 블록 MB1의 예측 디코딩이 인트라 및/또는 인터 예측의 알려진 기법들에 의해 착수된다.
H.264 표준에서 제안된 바와 같은 인트라 예측의 다른 모드들이 가능함은 말할 필요도 없다.
이런 단계의 과정에서, 예측 디코딩은 특히 예측의 유형(인터 또는 인트라), 및 적합하면, 인트라 예측의 모드, 블록 또는 매크로블록이 세분되었던 경우, 블록 또는 매크로블록의 파티션의 유형, 기준 이미지 인덱스 및 인터 예측 모드에서 사용된 변위 벡터를 포함하며, 이전 단계에서 디코딩된 구문 성분들로 수행된다.
상기 상술한 예측 디코딩 단계는 예측된 블록 MBp1을 구성하는 것을 가능하게 한다.
다음의 서브-단계 D243의 과정에서, 이전에 디코딩된 구문 성분들로 양자화된 잔차 블록 MBq1의 구성이 착수된다.
다음의 서브-단계 D244의 과정에서, 디코딩된 역양자화된 블록 MDBt1을 생성하기 위해, 상술한 단계 C344에서 수행된 양자화의 반대 동작인 종래의 역양자화 동작에 따라 양자화된 잔차 블록 MBq1의 역양자화가 착수된다.
다음의 서브-단계 D245의 과정에서, 앞서 단계 C343에서 수행된 직접 변환의 반대의 동작인 역양자화된 블록 MBDt1의 역변환이 착수된다. 디코딩된 잔차 블록 MBDr1이 그 다음 획득된다.
다음의 서브-단계 D246의 과정에서, 예측된 블록 MBp1에 디코딩된 잔차 블록 MBDr1을 가산함으로써 디코딩된 블록 MBD1의 구성이 착수된다. 디코딩된 블록 MBD1은 따라서 디코딩 유닛(UD1) 또는 미리 결정된 수(N)의 디코딩 유닛들 중 일부를 형성하는 임의의 다른 디코딩 유닛에 의해 사용되도록 이용가능하게 제공된다.
상술한 디코딩 단계 D246의 종료시, 도 6b에 도시된 바와 같은 엔트로피 디코딩 모듈(MDE1)은 첫 번째 블록의 디코딩과 협력하여 계속하여 재갱신된 바와 같은 확률들 모두를 포함한다. 이들 확률들은 가능한 구문의 다양한 성분들 및 다양한 관련된 디코딩 콘텍스트들에 대응한다.
상술한 디코딩 단계 D24 다음에, 단계 D25의 과정에서, 현재 블록이 이런 동일 열의 j 번째 블록인지의 여부를 결정하기 위한 검사가 수행되는데, 여기서 j는 적어도 1과 같은 디코더(DO)에 알려진 미리 결정된 값이다.
그런 경우이면, 단계 D26의 과정에서, j 번째 블록에 대하여 연산된 확률들의 세트는 도 6a 및 도 4a 또는 도 4b에 도시된 바와 같은 디코더(DO)의 버퍼 메모리(MT)에 저장되고, 상기 메모리의 크기는 연산된 수의 확률들을 저장하도록 적응된다.
단계 D27의 과정에서, 유닛(UDk)은 방금 디코딩되었던 현재 블록이 마지막 서브-스트림의 마지막 블록인지의 여부를 검사한다.
그런 경우이면, 단계 D28의 과정에서, 디코딩 방법은 종료된다.
그런 경우가 아니면, 단계 D29의 과정에서, 도 4a 또는 도 4b의 화살표 PS에 의해 도시된 순회의 순서에 따라 디코딩될 다음 블록 MBi의 선택이 착수된다.
상술한 단계 D25의 과정에서, 현재 블록이 고려중인 열(SEDk)의 j 번째 블록이 아니면, 위의 단계 D27이 착수된다.
상술한 단계 D29에 뒤이은 단계 D30의 과정에서, 현재 블록 MBi를 디코딩하기 위해 필요한 이전에 디코딩된 블록들의 이용가능성의 결정이 착수된다. 이는 상이한 디코딩 유닛들(UDk)에 의한 블록들의 병렬 디코딩을 수반한다는 사실을 고려하면, 이들 블록들은 이들 블록들의 디코딩에 할당된 디코딩 유닛에 의해 디코딩되지 않았고 그것들이 따라서 아직 이용가능하지 않는 상황이 발생할 수 있다. 상기 결정 단계는 이전 열(SEk-1)에 위치된 미리 결정된 수 N'개의 블록들, 예를 들면, 현재 블록의 위 및 우측 위에 각각 위치된 2개의 블록들이 현재 블록의 디코딩을 위해 이용가능한지의 여부, 즉, 그것들이 그것들의 디코딩에 할당된 디코딩 유닛(UDk-1)에 의해 이미 디코딩되었는지의 여부를 확인하는 단계에 상응한다. 상기 결정 단계는 또한 디코딩될 현재 블록 MBi의 좌측에 위치된 적어도 하나의 블록의 이용가능성을 확인하는 단계에 상응한다. 그러나, 도 4a 또는 도 4b에 도시된 실시예에서 선택된 순회 PS의 순서를 고려하면, 블록들은 고려중인 열(SEk)에서 차례로 디코딩된다. 그 결과, 좌측의 디코딩된 블록은 항상 이용가능하다(열의 첫 번째 블록을 제외하고). 도 4a 또는 도 4b에 도시된 예에서, 이는 디코딩될 현재 블록의 바로 좌측에 위치된 블록을 수반한다. 이런 목적을 위해, 현재 블록의 위 및 우측 위에 각각 위치된 2개의 블록들의 이용가능성만이 검사된다.
이런 검사 단계가 디코딩 방법을 느리게 하는 경향이 있기 때문에, 본 발명에 따른 대안적인 방식으로, 도 6a에 도시된 클록(CLK)은, 현재 블록의 위 및 우측 위 각각에 위치된 2개의 블록들의 이용가능성을 확인할 필요없이, 이들 2개의 블록들의 이용가능성을 보장하도록 블록들의 디코딩의 진행을 동기화하도록 적응된다. 따라서, 도 4a 또는 4b에 도시된 바와 같이, 디코딩 유닛(UDk)은 항상 첫 번째 블록을 현재 블록의 디코딩을 위해 사용되는 이전 열(SEk-1)의 미리 결정된 수( N')(여기서 N'=2)의 디코딩된 블록들의 시프트를 갖고 디코딩하기 시작한다. 소프트웨어 관점에서, 이런 클록의 실시는 디코더(DO)에서 각 서브세트(SEk)의 블록들을 처리하는 시간을 현저하게 가속하는 것을 가능하게 한다.
단계 D31의 과정에서, 현재 블록이 고려중인 열(SEk)의 첫 번째 블록인지의 여부를 결정하기 위한 검사가 수행된다.
그런 경우이면, 단계 D32의 과정에서, 이전 열(SEk-1)의 j 번째 블록의 디코딩 동안 연산된 심볼 발생 확률들만의 버퍼 메모리(MT)에서의 판독이 착수된다.
도 4a에 도시된 제 1 변형예에 따르면, j 번째 블록은 이전 열(SEk-1)의 첫 번째 블록(j=1)이다. 이런 판독은 CABAC 디코더의 확률들을 버퍼 메모리(MT)에 존재하는 것들로 대체하는 것에 상응한다. 이것이 두 번째, 세 번째 및 네 번째 열들(SE2, SE3 및 SE4)의 각각의 첫 번째 블록들을 수반하기 때문에, 이런 판독 단계는 얇은 선들에 의해 도시된 화살표들에 의해 도 4a에 도시된다.
도 4b에 도시되는 상술한 단계 D32의 제 2 변형예에 따르면, j 번째 블록은 이전 열(SEk-1)의 두 번째 블록(j=2)이다. 이런 판독은 CABAC 디코더의 확률들을 버퍼 메모리(MT)에 존재하는 것들로 대체하는 것에 상응한다. 이것이 두 번째, 세 번째 및 네 번째 열들(SE2, SE3 및 SE4)의 각각의 첫 번째 블록들을 수반하기 때문에, 이런 판독 단계는 얇은 대시 선들에 의해 도시된 화살표들에 의해 도 4b에 도시된다.
단계 D32의 다음에, 현재 블록이 위에서 설명된 단계들 D24 내지 D28의 반복에 의해 디코딩된다.
상술한 단계 D31의 다음에, 현재 블록이 고려중인 열(SEk)의 첫 번째 블록이 아닌 경우, 동일 열(SEk)에 위치되는 이전에 디코딩된 블록, 즉, 도시된 예에서 현재 블록의 바로 좌측에 위치된 디코딩된 블록에 기인하는 확률들의 판독은 유리하게는, 착수되지 않는다. 실제로, 도 4a 또는 도 4b에 도시된 바와 같이, 동일 열에 위치된 블록들의 판독을 위한 순차적 순회 PS를 고려하면, CABAC 디코더에 존재하는 심볼 발생 확률들은 현재의 블록의 코딩이 시작하는 순간에, 틀림없이 이런 동일 열의 이전 블록의 디코딩 이후에 존재하는 것이다.
그 결과, 단계 D33의 과정에서, 상기 현재 블록의 엔트로피 디코딩에 대한 심볼 발생의 확률들의 학습이 착수되는데, 상기 확률들은 도 4a 또는 도 4b의 이중 실선 화살표들에 의해 도시된 바와 같이, 동일 열에서의 상기 이전 블록에 대하여 연산되었던 것에만 대응한다.
단계 D33 다음에, 현재 블록이 위에 설명된 단계 D24 내지 D28의 반복에 의해 디코딩된다.
단계 D34의 과정에서, 현재 블록이 고려중인 열(SEk)의 마지막 블록인지의 여부를 결정하기 위한 검사가 그 후에 수행된다.
그런 경우가 아니면, 단계 D34의 다음에, 코딩될 다음 블록 MBi를 선택하는 단계 D29가 다시 실시된다.
현재 블록이 고려중인 열(SEk)의 마지막 블록인 경우, 단계 D35의 과정에서, 디코딩 유닛(UDk)은 상술한 단계 D23과 동일한 단계를 수행하는데, 즉, 미리 결정된 심볼들의 세트에 포함된 심볼의 발생의 확률을 나타내는 간격을 다시 초기화한다. 이런 재초기화는 각 열(SEk)의 시작에서 검정 점에 의해 도 4a 및 도 4b에 도시된다.
따라서, 디코더(DO)는 열의 각 시작에서 초기화된 상태이고, 그에 의해 디코딩의 병렬 계산의 레벨을 선택하는 관점에서 뛰어난 유연성 및 디코딩시 프로세싱 시간의 최적화를 허용한다.
도 7a에 도시된 예시적인 코딩/디코딩 다이어그램에서, 도 3a에 도시된 바와 같이, 코더(CO)는 단일 코딩 유닛(UC)을 포함하는 한편, 디코더(DO)는 6개의 디코딩 유닛들을 포함한다.
코딩 유닛(UC)은 열들(SE1, SE2, SE3, SE4, SE5, 및 SE6)을 순차적으로 코딩한다. 도시된 예에서, 열들 SE1 내지 SE4은 완전히 코딩되고, 열 SE5은 코딩되는 과정이며, 열 SE6은 아직 코딩되지 않았다. 코딩의 순차적 발생(sequentiality)을 고려하면, 코딩 유닛(UC)은 열들 SE1, SE2, SE3 및 SE4의 코딩의 순서로 차례로 정렬된 서브-스트림들(F1, F2, F3, F4)을 포함하는 스트림(F)을 전달하도록 적응된다. 이런 목적을 위해, 서브-스트림들(F1, F2, F3 및 F4)은 코딩된 열들(SE1, SE2, SE3, SE4)을 각각 기호화하는 것과 동일한 해칭으로 기호화된다. 상기 코딩된 열들의 코딩의 종료시 비움 단계들 및, 코딩될/디코딩될 다음 열의 코딩 또는 디코딩의 시작시 확률들의 간격의 재초기화에 의해, 디코더(DO)는 그것이 서브-스트림들을 디코딩하도록 서브-스트림을 판독할 때마다, 초기화된 상태이고, 따라서, 최적 방식으로, 예를 들면, 4개의 상이한 플랫폼들 상에 설치될 수 있는 디코딩 유닛들(UD1, UD2, UD3 및 UD4)로 4개의 서브-스트림들(F1, F2, F3, F4)을 병렬로 디코딩할 수 있다.
도 7b에 도시된 예시적인 코딩/디코딩 다이어그램에서, 도 3c에 도시된 바와 같이, 코더(CO)는 2개의 코딩 유닛들(UC1 및 UC2)을 포함하는 한편, 디코더(DO)는 6개의 디코딩 유닛들을 포함한다.
코딩 유닛 UC1은 홀수 번째의 열들(SE1, SE3 및 SE5)을 순차적으로 코딩하는 한편, 코딩 유닛 UC2는 짝수 번째의 열들(SE2, SE4, 및 SE6)을 순차적으로 코딩한다. 이런 목적을 위해, 열들 SE1, SE3 및 SE5는 화이트 백그라운드(white background)를 나타내는 한편, 열들 SE2, SE4 및 SE6은 도티드 백그라운드(dotted background)를 나타낸다. 도시된 예에서, 열들 SE1 내지 SE4는 완전히 코딩되고, 열 SE5는 코딩되고 있는 과정이며, 열 SE6은 아직 코딩되지 않았다. 수행된 코딩이 레벨 2의 병렬 유형인 사실을 고려하면, 코딩 유닛 UC1은 열들 SE1 및 SE3의 각각의 코딩 다음에 획득된 2개의 파트들(F1 및 F3)로 분해된 서브-스트림(F2n+1)을 전달하도록 적응되는 한편, 코딩 유닛 UC2는 열들 SE2 및 SE4의 각각의 코딩 다음에 획득된 2개의 파트들(F2 및 F4)로 분해된 서브-스트림(F2n)을 전달하도록 적응된다. 코더(CO)는 따라서 2개의 서브-스트림들(F2n+1 및 F2n)의 병치(juxtaposition) 및 따라서 도 7a에 도시된 것과 상이한 서브-스트림들(F1, F2, F3, F4)의 순서를 포함하는 스트림(F)을 디코더(DO)에 전송하도록 적응된다. 이런 목적을 위해, 서브-스트림들(F1, F2, F3 및 F4)은 코딩된 열들 SE1, SE2, SE3, SE4을 각각 기호화하는 것과 동일한 해칭으로 기호화되고, 서브-스트림들 F1 및 F3은 화이트 백그라운드(홀수 번째의 열들의 코딩)을 나타내며, 서브-스트림들 F2 및 F4는 도티드 백그라운드(짝수 번째의 열들의 코딩)을 나타낸다.
도 7a와 함께 언급된 이점들에 대하여, 이런 코딩/디코딩 다이어그램은 그의 디코딩의 병렬 계산의 레벨이 코딩의 병렬 계산의 레벨과 완전히 무관한 디코더를 이용할 수 있고, 그에 의해 코더/디코더의 동작을 한 층 더 최적화하는 것을 가능하게 하는 장점이 더 존재한다.
Claims (20)
- 이미지 디코딩 방법에 있어서,
적어도 하나의 코딩된 이미지를 나타내는 비트스트림을 수신하는 단계;
상기 적어도 하나의 코딩된 이미지를 나타내는 미리 결정된 복수의 블록들의 그룹들을 상기 비트스트림으로부터 식별하는 단계;
블록들의 제1 그룹 내의 연속적인(consecutive) 블록들의 제1 행을 엔트로피 디코딩하는 단계를 포함하는, 상기 블록들의 제1 그룹을 처리하는 단계; 및
블록들의 제2 그룹 내의 연속적인 블록들의 제2 행을 엔트로피 디코딩하는 단계를 포함하는, 상기 블록들의 제2 그룹을 처리하는 단계
를 포함하고,
상기 연속적인 블록들의 제2 행은 상기 적어도 하나의 코딩된 이미지로부터 디코딩된 이미지의 래스터(raster) 순서에서 상기 연속적인 블록들의 제1 행의 바로 다음이고,
상기 연속적인 블록들의 제2 행은 상기 비트스트림 내의 상기 연속적인 블록들의 제1 행의 바로 다음이 아니며,
상기 비트스트림 내에서, 상기 제1 그룹의 모든 블록들은 상기 비트스트림 내의 상기 제2 그룹 내의 어느 블록들보다도 이전에 연속적인 순서로 배치되는 것인, 이미지 디코딩 방법. - 제1항에 있어서,
상기 블록들의 그룹들 각각을 코딩하기 위한 하나 이상의 코딩 유닛들을 포함하는 코딩 시스템으로부터 상기 적어도 하나의 코딩된 이미지를 나타내는 비트스트림을 수신하는 단계; 및
상기 하나 이상의 코딩 유닛들과는 수량이 상이한 하나 이상의 디코딩 유닛들에 상기 복수의 블록들의 그룹들을 분배하는 단계
를 포함하는, 이미지 디코딩 방법. - 제1항에 있어서, 적어도 하나의 이전에 디코딩된 블록에 대하여 상기 복수의 블록들 각각을 예측 디코딩하는 단계를 포함하는, 이미지 디코딩 방법.
- 제1항에 있어서, 상기 블록들의 제1 그룹을 엔트로피 디코딩하는 것으로부터의 엔트로피 디코딩된 데이터에 적어도 기초하여 확률 데이터를 메모리 유닛에 업데이트하는 단계를 포함하는, 이미지 디코딩 방법.
- 제1항에 있어서, 이전 블록을 엔트로피 디코딩하는 것으로부터의 엔트로피 디코딩된 데이터에 적어도 기초하여 업데이트되었던 확률 데이터에 따라 제3 블록을 엔트로피 디코딩하는 단계를 포함하는, 주어진 블록들의 그룹 내의 상기 제3 블록을 처리하는 단계를 포함하는, 이미지 디코딩 방법.
- 제1항에 있어서,
상기 블록들의 제1 그룹 내의 제1 블록이 미리 결정된 열과 연관되어 있다고 결정하는 단계; 및
상기 제1 블록이 미리 결정된 열과 연관되어 있다고 결정하는 것에 응답하여, 상기 제1 블록을 엔트로피 디코딩하는 것과 연관된 확률 데이터를 버퍼에 저장하는 단계
를 포함하는, 이미지 디코딩 방법. - 제1항에 있어서,
상기 블록들의 제1 그룹 내의 제1 블록을 처리하는 단계
를 포함하고, 상기 제1 블록을 처리하는 단계는,
버퍼로부터 확률 데이터를 검색하는 단계; 및
하나 이상의 다른 블록들의 그룹들로부터의 블록들과 연관된 심볼들의 발생 확률들을 포함하는 확률 데이터에 따라 상기 제1 블록을 엔트로피 디코딩하는 단계
를 포함하는 것인, 이미지 디코딩 방법. - 제1항에 있어서, 상기 블록들의 제2 행 내의 제2 블록을 엔트로피 디코딩하는 것은, 현재 확률 데이터에 따라 상기 제2 블록을 엔트로피 디코딩하는 것을 포함하고, 상기 방법은,
상기 제2 블록이, 디코딩될 상기 블록들의 제2 그룹 내의 마지막 블록이라고 결정하는 단계; 및
상기 제2 블록이, 디코딩될 상기 블록들의 제2 그룹 내의 마지막 블록이라고 결정하는 것에 응답하여, 상기 확률 데이터를 재초기화하는 단계
를 더 포함하고,
상기 재초기화 단계는, 상기 블록들의 제2 그룹 내의 블록들의 서브세트를 엔트로피 디코딩하는 것으로부터의 엔트로피 데이터에 적어도 기초하여 업데이트되었던 확률 데이터를 반영하기 위해 상기 현재 확률 데이터를 수정하는 단계를 포함하는 것인, 이미지 디코딩 방법. - 시스템에 있어서,
하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 명령어들을 저장한 하나 이상의 저장 디바이스들을 포함하고, 상기 동작들은,
적어도 하나의 코딩된 이미지를 나타내는 비트스트림을 수신하는 동작;
상기 적어도 하나의 코딩된 이미지를 나타내는 미리 결정된 복수의 블록들의 그룹들을 상기 비트스트림으로부터 식별하는 동작;
블록들의 제1 그룹 내의 연속적인 블록들의 제1 행을 엔트로피 디코딩하는 동작을 포함하는, 상기 블록들의 제1 그룹을 처리하는 동작; 및
블록들의 제2 그룹 내의 연속적인 블록들의 제2 행을 엔트로피 디코딩하는 동작을 포함하는, 상기 블록들의 제2 그룹을 처리하는 동작
을 포함하고,
상기 연속적인 블록들의 제2 행은 상기 적어도 하나의 코딩된 이미지로부터 디코딩된 이미지의 래스터 순서에서 상기 연속적인 블록들의 제1 행의 바로 다음이고,
상기 연속적인 블록들의 제2 행은 상기 비트스트림 내의 상기 연속적인 블록들의 제1 행의 바로 다음이 아니며,
상기 비트스트림 내에서, 상기 제1 그룹의 모든 블록들은 상기 비트스트림 내의 상기 제2 그룹 내의 어느 블록들보다도 이전에 연속적인 순서로 배치되는 것인, 시스템. - 제9항에 있어서, 상기 동작들은,
상기 블록들의 그룹들 각각을 코딩하기 위한 하나 이상의 코딩 유닛들을 포함하는 코딩 시스템으로부터 상기 적어도 하나의 코딩된 이미지를 나타내는 비트스트림을 수신하는 동작; 및
상기 하나 이상의 코딩 유닛들과는 수량이 상이한 하나 이상의 디코딩 유닛들에 상기 복수의 블록들의 그룹들을 분배하는 동작
을 더 포함하는 것인, 시스템. - 제9항에 있어서, 상기 동작들은, 적어도 하나의 이전에 디코딩된 블록에 대하여 상기 복수의 블록들 각각을 예측 디코딩하는 동작을 포함하는 것인, 시스템.
- 제9항에 있어서, 상기 동작들은, 상기 블록들의 제1 그룹을 엔트로피 디코딩하는 것으로부터의 엔트로피 디코딩된 데이터에 적어도 기초하여 확률 데이터를 메모리 유닛에 업데이트하는 동작을 포함하는 것인, 시스템.
- 제9항에 있어서, 상기 동작들은, 이전 블록을 엔트로피 디코딩하는 것으로부터의 엔트로피 디코딩된 데이터에 적어도 기초하여 업데이트되었던 확률 데이터에 따라 제3 블록을 엔트로피 디코딩하는 동작을 포함하는, 주어진 블록들의 그룹 내의 상기 제3 블록을 처리하는 동작을 포함하는 것인, 시스템.
- 제9항에 있어서, 상기 동작들은,
상기 블록들의 제1 그룹 내의 제1 블록이 미리 결정된 열과 연관되어 있다고 결정하는 동작; 및
상기 제1 블록이 미리 결정된 열과 연관되어 있다고 결정하는 것에 응답하여, 상기 제1 블록을 엔트로피 디코딩하는 것과 연관된 확률 데이터를 버퍼에 저장하는 동작
을 포함하는 것인, 시스템. - 제9항에 있어서, 상기 동작들은,
상기 블록들의 제1 그룹 내의 제1 블록을 처리하는 동작
을 포함하고, 상기 제1 블록을 처리하는 동작은,
버퍼로부터 확률 데이터를 검색하는 동작; 및
하나 이상의 다른 블록들의 그룹들로부터의 블록들과 연관된 심볼들의 발생 확률들을 포함하는 확률 데이터에 따라 상기 제1 블록을 엔트로피 디코딩하는 동작
을 포함하는 것인, 시스템. - 제9항에 있어서, 상기 블록들의 제2 행 내의 제2 블록을 엔트로피 디코딩하는 동작은, 현재 확률 데이터에 따라 상기 제2 블록을 엔트로피 디코딩하는 동작을 포함하고, 상기 동작들은,
상기 제2 블록이, 디코딩될 상기 블록들의 제2 그룹 내의 마지막 블록이라고 결정하는 동작; 및
상기 제2 블록이, 디코딩될 상기 블록들의 제2 그룹 내의 마지막 블록이라고 결정하는 것에 응답하여, 상기 확률 데이터를 재초기화하는 동작
을 더 포함하고,
상기 재초기화 동작은, 상기 블록들의 제2 그룹 내의 블록들의 서브세트를 엔트로피 디코딩하는 것으로부터의 엔트로피 데이터에 적어도 기초하여 업데이트되었던 확률 데이터를 반영하기 위해 상기 현재 확률 데이터를 수정하는 동작을 포함하는 것인, 시스템. - 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하게 하는 명령어들을 포함하는 소프트웨어를 저장한 비일시적 컴퓨터 판독 가능한 매체에 있어서, 상기 동작들은,
적어도 하나의 코딩된 이미지를 나타내는 비트스트림을 수신하는 동작;
상기 적어도 하나의 코딩된 이미지를 나타내는 미리 결정된 복수의 블록들의 그룹들을 상기 비트스트림으로부터 식별하는 동작;
블록들의 제1 그룹 내의 연속적인 블록들의 제1 행을 엔트로피 디코딩하는 동작을 포함하는, 상기 블록들의 제1 그룹을 처리하는 동작; 및
블록들의 제2 그룹 내의 연속적인 블록들의 제2 행을 엔트로피 디코딩하는 동작을 포함하는, 상기 블록들의 제2 그룹을 처리하는 동작
을 포함하고,
상기 연속적인 블록들의 제2 행은 상기 적어도 하나의 코딩된 이미지로부터 디코딩된 이미지의 래스터 순서에서 상기 연속적인 블록들의 제1 행의 바로 다음이고,
상기 연속적인 블록들의 제2 행은 상기 비트스트림 내의 상기 연속적인 블록들의 제1 행의 바로 다음이 아니며,
상기 비트스트림 내에서, 상기 제1 그룹의 모든 블록들은 상기 비트스트림 내의 상기 제2 그룹 내의 어느 블록들보다도 이전에 연속적인 순서로 배치되는 것인, 비일시적 컴퓨터 판독 가능한 매체. - 제17항에 있어서, 상기 동작들은,
상기 블록들의 그룹들 각각을 코딩하기 위한 하나 이상의 코딩 유닛들을 포함하는 코딩 시스템으로부터 상기 적어도 하나의 코딩된 이미지를 나타내는 비트스트림을 수신하는 동작; 및
상기 하나 이상의 코딩 유닛들과는 수량이 상이한 하나 이상의 디코딩 유닛들에 상기 복수의 블록들의 그룹들을 분배하는 동작
을 포함하는 것인, 비일시적 컴퓨터 판독 가능한 매체. - 제17항에 있어서, 상기 동작들은, 적어도 하나의 이전에 디코딩된 블록에 대하여 상기 복수의 블록들 각각을 예측 디코딩하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독 가능한 매체.
- 제17항에 있어서, 상기 동작들은, 상기 블록들의 제1 그룹을 엔트로피 디코딩하는 것으로부터의 엔트로피 디코딩된 데이터에 적어도 기초하여 확률 데이터를 메모리 유닛에 업데이트하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독 가능한 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1155606 | 2011-06-24 | ||
FR1155606A FR2977111A1 (fr) | 2011-06-24 | 2011-06-24 | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
PCT/FR2012/051391 WO2012175870A1 (fr) | 2011-06-24 | 2012-06-20 | Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147002088A Division KR101708982B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160086987A KR20160086987A (ko) | 2016-07-20 |
KR101851477B1 true KR101851477B1 (ko) | 2018-04-23 |
Family
ID=46508090
Family Applications (15)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217010198A KR102344519B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020167018776A KR101851477B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020207008566A KR102185377B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020217042346A KR102437249B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020227029117A KR20220122797A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020207034016A KR102240333B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020187028663A KR102003549B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020247021793A KR20240110081A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 대응하는 컴퓨터 프로그램들 |
KR1020177037608A KR101907043B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020167018759A KR20160086984A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020197021045A KR102095329B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020167018767A KR20160086986A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020147002088A KR101708982B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020237015428A KR20230067712A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020157008800A KR20150046352A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217010198A KR102344519B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
Family Applications After (13)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207008566A KR102185377B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020217042346A KR102437249B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020227029117A KR20220122797A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020207034016A KR102240333B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020187028663A KR102003549B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020247021793A KR20240110081A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 대응하는 컴퓨터 프로그램들 |
KR1020177037608A KR101907043B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020167018759A KR20160086984A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020197021045A KR102095329B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020167018767A KR20160086986A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020147002088A KR101708982B1 (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020237015428A KR20230067712A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
KR1020157008800A KR20150046352A (ko) | 2011-06-24 | 2012-06-20 | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 |
Country Status (10)
Country | Link |
---|---|
US (12) | US9319692B2 (ko) |
EP (2) | EP3700207A1 (ko) |
JP (5) | JP2014520470A (ko) |
KR (15) | KR102344519B1 (ko) |
CN (8) | CN103959787B (ko) |
BR (1) | BR112013032956B1 (ko) |
FR (1) | FR2977111A1 (ko) |
HK (6) | HK1216058A1 (ko) |
RU (5) | RU2613740C2 (ko) |
WO (1) | WO2012175870A1 (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2972588A1 (fr) | 2011-03-07 | 2012-09-14 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
FR2977111A1 (fr) | 2011-06-24 | 2012-12-28 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
US8879858B1 (en) * | 2013-10-01 | 2014-11-04 | Gopro, Inc. | Multi-channel bit packing engine |
US10212441B2 (en) * | 2014-02-12 | 2019-02-19 | Chips & Media, Inc. | Method and apparatus for processing video |
FR3029333A1 (fr) * | 2014-11-27 | 2016-06-03 | Orange | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
US10574993B2 (en) * | 2015-05-29 | 2020-02-25 | Qualcomm Incorporated | Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design |
FR3046321B1 (fr) * | 2015-12-29 | 2018-01-26 | B<>Com | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal d'utilisateur et programmes d'ordinateurs associes |
US10230948B2 (en) * | 2016-02-03 | 2019-03-12 | Mediatek Inc. | Video transmitting system with on-the-fly encoding and on-the-fly delivering and associated video receiving system |
EP3244610A1 (en) | 2016-05-12 | 2017-11-15 | Thomson Licensing | Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data |
CN108664958A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 数据解码方法和数据解码装置 |
FR3068557A1 (fr) * | 2017-07-05 | 2019-01-04 | Orange | Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants |
EP3721631A1 (en) * | 2017-12-06 | 2020-10-14 | V-Nova International Limited | Method and apparatus for decoding a received set of encoded data |
US10827191B2 (en) * | 2018-11-02 | 2020-11-03 | Fungible, Inc. | Parallel coding of syntax elements for JPEG accelerator |
US10848775B2 (en) | 2018-11-02 | 2020-11-24 | Fungible, Inc. | Memory layout for JPEG accelerator |
US10827192B2 (en) | 2018-11-02 | 2020-11-03 | Fungible, Inc. | Work allocation for JPEG accelerator |
US10931958B2 (en) | 2018-11-02 | 2021-02-23 | Fungible, Inc. | JPEG accelerator using last-non-zero (LNZ) syntax element |
FR3092719A1 (fr) * | 2019-02-07 | 2020-08-14 | Orange | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image. |
WO2020242260A1 (ko) * | 2019-05-31 | 2020-12-03 | 한국전자통신연구원 | 전역적 문맥을 이용하는 기계 학습 기반의 이미지 압축을 위한 방법 및 장치 |
KR102595278B1 (ko) | 2020-12-29 | 2023-10-27 | 부산대학교 산학협력단 | 표면결함검출 스캐너를 위한 이미지 데이터 저장 장치 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279574A (ja) | 2005-03-29 | 2006-10-12 | Sanyo Electric Co Ltd | 復号装置と方法 |
WO2011042645A1 (fr) | 2009-10-05 | 2011-04-14 | France Telecom | Procedes de codage et de décodage d'images, dispositifs de codage et de decodage et programmes d'ordinateur correspondants |
WO2011045339A1 (de) * | 2009-10-15 | 2011-04-21 | Siemens Aktiengesellschaft | Verfahren zur codierung von symbolen aus einer folge digitalisierter bilder |
JP2014525187A (ja) | 2011-07-15 | 2014-09-25 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 低遅延のためのサンプルアレイ符号化 |
JP2015516747A (ja) | 2012-04-13 | 2015-06-11 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 低遅延画像符号化 |
Family Cites Families (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1038278A (en) | 1907-03-21 | 1912-09-10 | Union Switch & Signal Co | Semaphore-signal. |
US1036231A (en) | 1911-05-15 | 1912-08-20 | William S Hazelton | Wire-fence builder. |
US1003399A (en) | 1911-05-17 | 1911-09-12 | Jerry C Burns | Tie-remover. |
JP3871348B2 (ja) | 1993-03-05 | 2007-01-24 | ソニー株式会社 | 画像信号復号化装置及び画像信号復号化方法 |
JPH08116534A (ja) | 1994-10-18 | 1996-05-07 | Seiko Epson Corp | 画像データ符号化装置およびその方法並びに画像データ復号化装置およびその方法 |
JP3225793B2 (ja) | 1995-06-16 | 2001-11-05 | 東洋インキ製造株式会社 | 高親水性塗料 |
DE69940703D1 (de) * | 1998-03-05 | 2009-05-20 | Panasonic Corp | Verfahren zur Bildkodierung, Verfahren zur Bildkodierung/-Dekodierung, Bildkodierer, oder Vorrichtung zur Bildaufzeichnung/-Wiedergabe |
JP3391251B2 (ja) | 1998-03-25 | 2003-03-31 | 三菱電機株式会社 | 適応確率推定方法及び適応符号化方法並びに適応復号方法 |
US6480537B1 (en) * | 1999-02-25 | 2002-11-12 | Telcordia Technologies, Inc. | Active techniques for video transmission and playback |
GB2348064A (en) | 1999-03-16 | 2000-09-20 | Mitsubishi Electric Inf Tech | Motion vector field encoding |
US7221483B2 (en) | 2000-09-05 | 2007-05-22 | Ricoh Company, Ltd. | Image encoding method and apparatus, image decoding method and apparatus, image processing apparatus, image formation apparatus, and computer-executable programs |
CN1285216C (zh) * | 2001-11-16 | 2006-11-15 | 株式会社Ntt都科摩 | 图像编码方法和装置、图像译码方法和装置 |
US7813431B2 (en) * | 2002-05-20 | 2010-10-12 | Broadcom Corporation | System, method, and apparatus for decoding flexibility ordered macroblocks |
US6795584B2 (en) * | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
WO2004075556A1 (ja) | 2003-02-19 | 2004-09-02 | Ishikawajima-Harima Heavy Industries Co., Ltd. | 画像圧縮装置、画像圧縮方法、画像圧縮プログラム、及び圧縮符号化方法、圧縮符号化装置、圧縮符号化プログラム、並びに復合化方法、復合化装置、復合化プログラム |
US8824553B2 (en) | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
JP2005033336A (ja) | 2003-07-08 | 2005-02-03 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
US6900748B2 (en) * | 2003-07-17 | 2005-05-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for binarization and arithmetic coding of a data value |
US6894628B2 (en) * | 2003-07-17 | 2005-05-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables |
CN1214649C (zh) | 2003-09-18 | 2005-08-10 | 中国科学院计算技术研究所 | 用于视频预测残差系数编码的熵编码方法 |
US7379608B2 (en) | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
JP4241417B2 (ja) * | 2004-02-04 | 2009-03-18 | 日本ビクター株式会社 | 算術復号化装置、および算術復号化プログラム |
US7463781B2 (en) | 2004-04-14 | 2008-12-09 | Lsi Corporation | Low overhead context intializations for arithmetic video codecs |
DE602005009439D1 (de) | 2004-07-06 | 2008-10-16 | Proton World Int Nv | Stromverschlüsselung des Inhalts eines Speichers, welcher ausserhalb eines Prozessors angeordnet ist |
US20060048038A1 (en) * | 2004-08-27 | 2006-03-02 | Yedidia Jonathan S | Compressing signals using serially-concatenated accumulate codes |
JP2006101406A (ja) * | 2004-09-30 | 2006-04-13 | Toshiba Corp | 情報処理装置および同装置で用いられるプログラム |
US7929776B2 (en) | 2005-03-10 | 2011-04-19 | Qualcomm, Incorporated | Method and apparatus for error recovery using intra-slice resynchronization points |
CN1703089A (zh) * | 2005-06-09 | 2005-11-30 | 清华大学 | 一种数字信号的二值算术编码方法 |
US8750908B2 (en) | 2005-06-16 | 2014-06-10 | Qualcomm Incorporated | Quick paging channel with reduced probability of missed page |
RU2371881C1 (ru) | 2005-07-08 | 2009-10-27 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации |
US7869660B2 (en) * | 2005-10-31 | 2011-01-11 | Intel Corporation | Parallel entropy encoding of dependent image blocks |
JP2006141037A (ja) * | 2005-11-14 | 2006-06-01 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
JP2007142637A (ja) * | 2005-11-16 | 2007-06-07 | Matsushita Electric Ind Co Ltd | 画像情報符号化装置 |
JP2007166192A (ja) | 2005-12-13 | 2007-06-28 | Toshiba Corp | 情報処理装置、制御方法およびプログラム |
US7924925B2 (en) * | 2006-02-24 | 2011-04-12 | Freescale Semiconductor, Inc. | Flexible macroblock ordering with reduced data traffic and power consumption |
US8401082B2 (en) | 2006-03-27 | 2013-03-19 | Qualcomm Incorporated | Methods and systems for refinement coefficient coding in video compression |
JP2007300455A (ja) | 2006-05-01 | 2007-11-15 | Victor Co Of Japan Ltd | 算術符号化装置、および算術符号化装置におけるコンテキストテーブル初期化方法 |
US7949054B2 (en) | 2006-06-01 | 2011-05-24 | Microsoft Corporation | Flexible data organization for images |
CN101491097B (zh) | 2006-07-13 | 2011-12-14 | 高通股份有限公司 | 使用经循环对准的片段的具有细粒度可缩放性的视频编码 |
US8000388B2 (en) | 2006-07-17 | 2011-08-16 | Sony Corporation | Parallel processing apparatus for video compression |
US7912302B2 (en) | 2006-09-21 | 2011-03-22 | Analog Devices, Inc. | Multiprocessor decoder system and method |
CN101589625B (zh) * | 2006-10-25 | 2011-09-21 | 弗劳恩霍夫应用研究促进协会 | 质量可缩放编码 |
CN101198051B (zh) | 2006-12-07 | 2011-10-05 | 深圳艾科创新微电子有限公司 | 基于h.264的熵解码器的实现方法及装置 |
EP2124343A4 (en) * | 2006-12-14 | 2012-01-11 | Nec Corp | METHOD, DEVICE AND VIDEO PROGRAMMING PROGRAM |
US20080225947A1 (en) | 2007-03-13 | 2008-09-18 | Matthias Narroschke | Quantization for hybrid video coding |
JP5162939B2 (ja) * | 2007-03-30 | 2013-03-13 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
TWI341657B (en) * | 2007-04-03 | 2011-05-01 | Nat Univ Tsing Hua | Cabac decoding method |
US8205140B2 (en) | 2007-05-10 | 2012-06-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for the use of network coding in a wireless communication network |
CN100493198C (zh) * | 2007-05-31 | 2009-05-27 | 北京中星微电子有限公司 | 算术编码中的概率模型存储方法 |
US8428133B2 (en) | 2007-06-15 | 2013-04-23 | Qualcomm Incorporated | Adaptive coding of video block prediction mode |
US8571104B2 (en) * | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
JP2009027306A (ja) | 2007-07-18 | 2009-02-05 | Epson Toyocom Corp | 弾性表面波デバイス |
JP5100311B2 (ja) * | 2007-10-29 | 2012-12-19 | キヤノン株式会社 | 動画像データ送信方法、通信装置、及びプログラム |
US8542727B2 (en) | 2007-12-31 | 2013-09-24 | Intel Corporation | Systems and apparatuses for performing CABAC parallel encoding and decoding |
US9008171B2 (en) | 2008-01-08 | 2015-04-14 | Qualcomm Incorporated | Two pass quantization for CABAC coders |
JP4915350B2 (ja) * | 2008-01-16 | 2012-04-11 | 日本電気株式会社 | エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム |
US7551341B1 (en) | 2008-01-28 | 2009-06-23 | Dolby Laboratories Licensing Corporation | Serial modulation display having binary light modulation stage |
US8077233B2 (en) * | 2008-02-22 | 2011-12-13 | Panasonic Corporation | Imaging apparatus |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
JP4875024B2 (ja) | 2008-05-09 | 2012-02-15 | 株式会社東芝 | 画像情報伝送装置 |
JP5756921B2 (ja) * | 2008-06-10 | 2015-07-29 | パナソニックIpマネジメント株式会社 | 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法、プログラムおよび集積回路 |
KR101456495B1 (ko) | 2008-08-28 | 2014-10-31 | 삼성전자주식회사 | 무손실 부호화/복호화 장치 및 방법 |
US7932843B2 (en) | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
US9467699B2 (en) * | 2008-12-03 | 2016-10-11 | Hfi Innovation Inc. | Method for performing parallel coding with ordered entropy slices, and associated apparatus |
CN101836454B (zh) * | 2008-12-03 | 2012-08-22 | 联发科技股份有限公司 | 对有序熵切片执行平行cabac码处理的方法及装置 |
JP5341104B2 (ja) * | 2008-12-08 | 2013-11-13 | パナソニック株式会社 | 画像復号化装置および画像復号化方法 |
JP2010278519A (ja) * | 2009-05-26 | 2010-12-09 | Panasonic Corp | 動きベクトル検出装置 |
JP5385736B2 (ja) * | 2009-09-17 | 2014-01-08 | Nttエレクトロニクス株式会社 | ストリーム制御装置、ストリーム制御方法及びストリーム制御プログラム |
KR100954141B1 (ko) | 2009-10-12 | 2010-04-20 | 주식회사 이알에이와이어리스 | 궤환간섭신호를 제거하는 일체형 중계기 및 그것을 이용한 다단 중계시스템 |
FR2951896A1 (fr) | 2009-10-23 | 2011-04-29 | France Telecom | Procede d'encapsulation de sous-flux de donnees, procede de desencapsulation et programmes d'ordinateur correspondants |
US8718149B2 (en) * | 2009-10-29 | 2014-05-06 | Panasonic Corporation | Image coding method and image decoding method |
JP5108857B2 (ja) | 2009-11-05 | 2012-12-26 | 株式会社エヌ・ティ・ティ・ドコモ | 表示制御装置及びプログラム |
US9369736B2 (en) | 2010-04-05 | 2016-06-14 | Samsung Electronics Co., Ltd. | Low complexity entropy-encoding/decoding method and apparatus |
JP5914962B2 (ja) | 2010-04-09 | 2016-05-11 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
US8319672B2 (en) | 2010-04-09 | 2012-11-27 | Korea Electronics Technology Institute | Decoding device for context-based adaptive binary arithmetic coding (CABAC) technique |
US20120014433A1 (en) * | 2010-07-15 | 2012-01-19 | Qualcomm Incorporated | Entropy coding of bins across bin groups using variable length codewords |
US9300938B2 (en) | 2010-07-22 | 2016-03-29 | Dolby Laboratories Licensing Corporation | Systems, apparatus and methods for mapping between video ranges of image data and display |
US8520740B2 (en) | 2010-09-02 | 2013-08-27 | International Business Machines Corporation | Arithmetic decoding acceleration |
HUE039299T2 (hu) | 2010-09-09 | 2018-12-28 | Fraunhofer Ges Forschung | Entrópia kódolási és dekódolási séma |
US10349070B2 (en) * | 2010-09-30 | 2019-07-09 | Texas Instruments Incorporated | Simplified binary arithmetic coding engine |
US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
WO2012048053A2 (en) * | 2010-10-05 | 2012-04-12 | Massachusetts Institute Of Technology | System and method for optimizing context-adaptive binary arithmetic coding |
US20120163448A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Coding the position of a last significant coefficient of a video block in video coding |
US9300976B2 (en) | 2011-01-14 | 2016-03-29 | Cisco Technology, Inc. | Video encoder/decoder, method and computer program product that process tiles of video data |
FR2972588A1 (fr) | 2011-03-07 | 2012-09-14 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
CN102685503B (zh) * | 2011-03-10 | 2014-06-25 | 华为技术有限公司 | 变换系数的编码方法、变换系数的解码方法,和装置 |
TWI487295B (zh) | 2011-05-17 | 2015-06-01 | Univ Nat Cheng Kung | 高產出平行化avc/h.264前後文適應性二位元算數解碼器之方法 |
US8891863B2 (en) | 2011-06-13 | 2014-11-18 | Dolby Laboratories Licensing Corporation | High dynamic range, backwards-compatible, digital cinema |
FR2977111A1 (fr) | 2011-06-24 | 2012-12-28 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
US8767824B2 (en) * | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
US20130021350A1 (en) * | 2011-07-19 | 2013-01-24 | Advanced Micro Devices, Inc. | Apparatus and method for decoding using coefficient compression |
CA3081964A1 (en) * | 2012-01-20 | 2013-07-25 | Ge Video Compression, Llc | Coding concept allowing parallel processing, transport demultiplexer and video bitstream |
US20140355690A1 (en) * | 2012-01-20 | 2014-12-04 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy-encoding capable of parallel processing, and method and apparatus for entropy-decoding capable of parallel processing |
WO2013158293A1 (en) * | 2012-04-19 | 2013-10-24 | Vid Scale, Inc. | System and method for error-resilient video coding |
-
2011
- 2011-06-24 FR FR1155606A patent/FR2977111A1/fr not_active Withdrawn
-
2012
- 2012-06-20 CN CN201280031335.9A patent/CN103959787B/zh active Active
- 2012-06-20 KR KR1020217010198A patent/KR102344519B1/ko active IP Right Grant
- 2012-06-20 CN CN201710340661.2A patent/CN107094253B/zh active Active
- 2012-06-20 KR KR1020167018776A patent/KR101851477B1/ko active IP Right Grant
- 2012-06-20 KR KR1020207008566A patent/KR102185377B1/ko active IP Right Grant
- 2012-06-20 KR KR1020217042346A patent/KR102437249B1/ko active IP Right Grant
- 2012-06-20 US US14/128,949 patent/US9319692B2/en active Active
- 2012-06-20 KR KR1020227029117A patent/KR20220122797A/ko not_active Application Discontinuation
- 2012-06-20 EP EP20155879.8A patent/EP3700207A1/fr active Pending
- 2012-06-20 CN CN201710340665.0A patent/CN107094256B/zh active Active
- 2012-06-20 CN CN201710340664.6A patent/CN107094255B/zh active Active
- 2012-06-20 KR KR1020207034016A patent/KR102240333B1/ko active IP Right Grant
- 2012-06-20 CN CN201510562762.5A patent/CN105120277A/zh active Pending
- 2012-06-20 KR KR1020187028663A patent/KR102003549B1/ko active Application Filing
- 2012-06-20 RU RU2014102226A patent/RU2613740C2/ru active
- 2012-06-20 KR KR1020247021793A patent/KR20240110081A/ko active Search and Examination
- 2012-06-20 JP JP2014516422A patent/JP2014520470A/ja active Pending
- 2012-06-20 EP EP12734974.4A patent/EP2724536A1/fr not_active Ceased
- 2012-06-20 CN CN201710340662.7A patent/CN107071446B/zh active Active
- 2012-06-20 RU RU2017103486A patent/RU2646345C1/ru active
- 2012-06-20 KR KR1020177037608A patent/KR101907043B1/ko active IP Right Grant
- 2012-06-20 KR KR1020167018759A patent/KR20160086984A/ko not_active Application Discontinuation
- 2012-06-20 KR KR1020197021045A patent/KR102095329B1/ko active IP Right Grant
- 2012-06-20 WO PCT/FR2012/051391 patent/WO2012175870A1/fr active Application Filing
- 2012-06-20 KR KR1020167018767A patent/KR20160086986A/ko not_active Application Discontinuation
- 2012-06-20 KR KR1020147002088A patent/KR101708982B1/ko active IP Right Grant
- 2012-06-20 KR KR1020237015428A patent/KR20230067712A/ko not_active Application Discontinuation
- 2012-06-20 BR BR112013032956-4A patent/BR112013032956B1/pt active IP Right Grant
- 2012-06-20 CN CN201710338460.9A patent/CN107094252B/zh active Active
- 2012-06-20 KR KR1020157008800A patent/KR20150046352A/ko not_active Application Discontinuation
- 2012-06-20 CN CN201710340663.1A patent/CN107094254B/zh active Active
-
2014
- 2014-09-22 US US14/492,750 patent/US9380308B2/en active Active
-
2015
- 2015-03-19 US US14/662,463 patent/US9319694B2/en active Active
- 2015-03-19 US US14/662,395 patent/US9319693B2/en active Active
-
2016
- 2016-01-28 US US15/008,785 patent/US9848196B2/en active Active
- 2016-01-28 US US15/008,614 patent/US9661335B2/en active Active
- 2016-04-07 HK HK16103993.3A patent/HK1216058A1/zh unknown
- 2016-04-18 US US15/132,062 patent/US9654783B2/en active Active
- 2016-11-24 JP JP2016228013A patent/JP2017073806A/ja active Pending
-
2017
- 2017-04-13 US US15/486,660 patent/US10033999B2/en active Active
-
2018
- 2018-02-02 RU RU2018103979A patent/RU2727171C2/ru active
- 2018-02-23 HK HK18102647.3A patent/HK1244373A1/zh unknown
- 2018-02-23 HK HK18102653.4A patent/HK1244376A1/zh unknown
- 2018-02-23 HK HK18102652.5A patent/HK1244375A1/zh unknown
- 2018-02-23 HK HK18102655.2A patent/HK1244377A1/zh unknown
- 2018-02-23 HK HK18102650.7A patent/HK1244374A1/zh unknown
- 2018-06-19 US US16/012,658 patent/US10362311B2/en active Active
- 2018-08-02 JP JP2018145539A patent/JP6875333B2/ja active Active
-
2019
- 2019-06-07 US US16/435,317 patent/US10694186B2/en active Active
-
2020
- 2020-06-22 US US16/907,561 patent/US20200322609A1/en not_active Abandoned
- 2020-06-26 RU RU2020121306A patent/RU2739497C1/ru active
- 2020-11-24 JP JP2020194275A patent/JP7280233B2/ja active Active
- 2020-12-18 RU RU2020141931A patent/RU2757543C1/ru active
-
2023
- 2023-05-12 JP JP2023079203A patent/JP2023100970A/ja active Pending
- 2023-07-05 US US18/218,521 patent/US20230353740A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279574A (ja) | 2005-03-29 | 2006-10-12 | Sanyo Electric Co Ltd | 復号装置と方法 |
WO2011042645A1 (fr) | 2009-10-05 | 2011-04-14 | France Telecom | Procedes de codage et de décodage d'images, dispositifs de codage et de decodage et programmes d'ordinateur correspondants |
WO2011045339A1 (de) * | 2009-10-15 | 2011-04-21 | Siemens Aktiengesellschaft | Verfahren zur codierung von symbolen aus einer folge digitalisierter bilder |
JP2014525187A (ja) | 2011-07-15 | 2014-09-25 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 低遅延のためのサンプルアレイ符号化 |
JP2015516747A (ja) | 2012-04-13 | 2015-06-11 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 低遅延画像符号化 |
Non-Patent Citations (1)
Title |
---|
Felix Henry, et al., ‘Wavefront Parallel Processing’, (JCTVC-E196), JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 5th Meeting: Geneva, CH, 2011.03.18.* |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6875333B2 (ja) | 画像復号方法、画像復号システム及び画像復号のためのコンピュータ可読媒体 | |
KR102465264B1 (ko) | 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들 | |
RU2779843C1 (ru) | Устройство для кодирования и декодирования изображений |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |