KR102437249B1 - 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 - Google Patents

이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 Download PDF

Info

Publication number
KR102437249B1
KR102437249B1 KR1020217042346A KR20217042346A KR102437249B1 KR 102437249 B1 KR102437249 B1 KR 102437249B1 KR 1020217042346 A KR1020217042346 A KR 1020217042346A KR 20217042346 A KR20217042346 A KR 20217042346A KR 102437249 B1 KR102437249 B1 KR 102437249B1
Authority
KR
South Korea
Prior art keywords
blocks
block
coding
stream
sub
Prior art date
Application number
KR1020217042346A
Other languages
English (en)
Other versions
KR20220000420A (ko
Inventor
펠릭스 헨리
스테판 패테우스
고든 클라레
Original Assignee
돌비 인터네셔널 에이비
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46508090&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR102437249(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 돌비 인터네셔널 에이비 filed Critical 돌비 인터네셔널 에이비
Priority to KR1020227029117A priority Critical patent/KR20220122797A/ko
Publication of KR20220000420A publication Critical patent/KR20220000420A/ko
Application granted granted Critical
Publication of KR102437249B1 publication Critical patent/KR102437249B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/12Frequency diversity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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/197Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

본 발명은 미리 결정된 심볼들의 세트에 속하는 심볼들을 포함할 수 있는 복수의 블록들(MB)로부터 이미지를 분할하는 단계(C1), 미리 결정된 수(P)의 블록들의 서브세트들(SE1, SE2,..., SEk,..., SEP)에서 블록들을 분류하는 단계(C2), 엔트로피 모듈을 이용하여, 검토중인 서브세트의 각 블록의 심볼들과 디지털 정보를 연관시킴으로써, 상기 블록들의 서브세트들의 각각을 인코딩하는 단계(C3) - 상기 인코딩 단계는, 이미지의 첫 번째 블록에 대하여, 상기 엔트로피 인코딩 모듈의 상태 변수들을 초기화하는 서브-단계(C33)를 포함함 -, 및 상기 인코딩된 블록들의 서브세트들 중 적어도 하나를 나타내는 데이터의 적어도 하나의 서브-스트림을 생성하는 단계를 포함하는 인코딩 방법에 관한 것이다. 현재 블록이 검토중인 블록들의 서브세트의 인코딩되고 있는 첫 번째 블록인 경우, 상기 첫 번째 현재 블록에 대한 심볼 발생의 확률들은 적어도 하나의 다른 서브세트의 인코딩된 및 디코딩된 미리 결정된 블록에 대하여 결정되었던 것이다. 현재 유닛이 검토중인 서브세트의 마지막 인코딩된 유닛인 경우, 검토중인 상기 서브세트의 블록들의 인코딩 동안 상기 심볼들과 연관되었던 디지털 정보 모두는 검토중인 적어도 상기 서브세트를 나타내는 상기 서브-스트림에 기록되고(C45), 초기화 서브-단계가 실시된다(C46).

Description

이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들{METHOD FOR ENCODING AND DECODING IMAGES, ENCODING AND DECODING DEVICE, AND CORRESPONDING COMPUTER PROGRAMS}
본 발명은 일반적으로 이미지 프로세싱의 분야에 관한 것으로, 보다 정확하게는, 디지털 이미지들 및 디지털 이미지들의 시퀀스의 코딩 및 디코딩에 관한 것이다.
본 발명은 따라서, 특히, 현재의 비디오 코더들(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에 대하여 업데이트 된다 :
Figure 112021149594537-pat00001
여기서, α는 미리 결정된 값, 예를 들면, 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는 각각 상이한 병렬 계산의 레벨들로 병렬 유형의 코딩/디코딩을 실시하는 이미지 코딩/디코딩 다이어그램을 도시한다.
코딩 부분의 제 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 (6)

  1. 데이터 스트림을 디코딩하도록 구성된 디코딩 유닛을 포함하는 장치로서, 상기 데이터 스트림은 적어도 하나의 코딩된 이미지를 나타내며 비일시적 컴퓨터 판독가능 매체에 저장되고, 상기 데이터 스트림은,
    상기 적어도 하나의 코딩된 이미지의 블록들의 서브세트에 대한 복수의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림들(context adaptive entropy encoded sub-streams) - 상기 복수의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림들 각각은 변환된 잔차 값들의 양자화된 계수들의 연속적인 블록들의 행을 포함함 -
    을 포함하고,
    제1 컨텍스트 적응 엔트로피 인코딩된 서브-스트림은 블록들의 제1 서브세트 내의 연속적인 블록들의 제1 행을 포함하고,
    제2 컨텍스트 적응 엔트로피 인코딩된 서브-스트림은 블록들의 제2 서브세트 내의 연속적인 블록들의 제2 행을 포함하고,
    상기 연속적인 블록들의 제2 행은 상기 코딩된 이미지로부터 디코딩된 이미지의 래스터 순서에서 상기 연속적인 블록들의 제1 행의 바로 다음(immediately after)에 있고,
    상기 연속적인 블록들의 제2 행은 상기 데이터 스트림에서 상기 연속적인 블록들의 제1 행의 바로 다음에 있지 않은 것인, 장치.
  2. 제 1 항에 있어서,
    상기 제2 컨텍스트 적응 엔트로피 인코딩된 서브-스트림은 상기 데이터 스트림에서 상기 제1 컨텍스트 적응 엔트로피 인코딩된 서브-스트림으로부터 미리 결정된 수의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림들만큼 떨어져(away from) 정렬되는 것인, 장치.
  3. 제 1 항에 있어서,
    상기 비일시적 컴퓨터 판독가능 매체에 저장된 상기 데이터 스트림은 또한,
    변환된 잔차 값들의 양자화된 계수들의 연속적인 블록들의 제3 행을 포함하는 제3 컨텍스트 적응 엔트로피 인코딩된 서브-스트림 - 상기 연속적인 블록들의 제3 행은 상기 코딩된 이미지로부터 디코딩된 이미지의 래스터 순서에서 상기 연속적인 블록들의 제2 행의 바로 다음에 있음 -
    을 포함하고,
    상기 제3 컨텍스트 적응 엔트로피 인코딩된 서브-스트림은 상기 데이터 스트림에서 상기 제2 컨텍스트 적응 엔트로피 인코딩된 서브-스트림 이전에 정렬되는 것인, 장치.
  4. 제 2 항에 있어서,
    상기 컨텍스트 적응 엔트로피 인코딩된 서브-스트림들의 미리 결정된 수는 상기 데이터 스트림의 인코딩에서 사용된 인코딩 유닛들의 수에 대응하는 것인, 장치.
  5. 제 1 항에 있어서,
    상기 복수의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림들 각각은 상기 래스터 순서에서 각자의 위치를 나타내는 표시자(indicator)를 포함하는 것인, 장치.
  6. 제 1 항에 있어서,
    상기 비일시적 컴퓨터 판독가능 매체에 저장된 상기 데이터 스트림은 또한,
    상기 복수의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림들의 제1 서브세트를 포함하는 제1 서브-스트림 그룹 - 상기 제1 서브세트 내의 각각의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림은 래스터 순서 위치들의 제1 산술 시퀀스에 속하는 래스터 순서에서의 위치를 가짐 - ; 및
    상기 복수의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림들의 제2 서브세트를 포함하는 제2 서브-스트림 그룹 - 상기 제2 서브세트 내의 각각의 컨텍스트 적응 엔트로피 인코딩된 서브-스트림은 래스터 순서 위치들의 제2 산술 시퀀스에 속하는 슬라이스 세그먼트의 래스터 순서에서의 위치를 가지고, 상기 제2 서브-스트림 그룹은 상기 데이터 스트림의 순서에서 상기 제1 서브-스트림 그룹 다음에 있음 -
    을 포함하는 것인, 장치.
KR1020217042346A 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 KR102437249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227029117A KR20220122797A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들

Applications Claiming Priority (4)

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
KR1020217010198A KR102344519B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217010198A Division KR102344519B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227029117A Division KR20220122797A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들

Publications (2)

Publication Number Publication Date
KR20220000420A KR20220000420A (ko) 2022-01-03
KR102437249B1 true KR102437249B1 (ko) 2022-08-26

Family

ID=46508090

Family Applications (14)

Application Number Title Priority Date Filing Date
KR1020187028663A KR102003549B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020167018776A KR101851477B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020177037608A KR101907043B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020207008566A KR102185377B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020227029117A KR20220122797A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020217010198A KR102344519B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020157008800A KR20150046352A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020167018759A KR20160086984A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020207034016A KR102240333B1 (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 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020197021045A KR102095329B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020217042346A KR102437249B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들

Family Applications Before (13)

Application Number Title Priority Date Filing Date
KR1020187028663A KR102003549B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020167018776A KR101851477B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020177037608A KR101907043B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020207008566A KR102185377B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020227029117A KR20220122797A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020217010198A KR102344519B1 (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020157008800A KR20150046352A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020167018759A KR20160086984A (ko) 2011-06-24 2012-06-20 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020207034016A KR102240333B1 (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 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
KR1020197021045A KR102095329B1 (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 (14) KR102003549B1 (ko)
CN (8) CN107094256B (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 (18)

* Cited by examiner, † Cited by third party
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
KR101895296B1 (ko) * 2014-02-12 2018-09-05 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
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
US11233998B2 (en) 2015-05-29 2022-01-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
EP3721633A1 (en) * 2017-12-06 2020-10-14 V-Nova International Limited Hierarchical data structure
US10848775B2 (en) 2018-11-02 2020-11-24 Fungible, Inc. Memory layout for JPEG accelerator
US10827191B2 (en) * 2018-11-02 2020-11-03 Fungible, Inc. Parallel coding of syntax elements 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
US20220277491A1 (en) * 2019-05-31 2022-09-01 Electronics And Telecommunications Research Institute Method and device for machine learning-based image compression using global context
KR102595278B1 (ko) 2020-12-29 2023-10-27 부산대학교 산학협력단 표면결함검출 스캐너를 위한 이미지 데이터 저장 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 低遅延画像符号化
KR102240333B1 (ko) * 2011-06-24 2021-04-13 돌비 인터네셔널 에이비 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들

Family Cites Families (90)

* Cited by examiner, † Cited by third party
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 東洋インキ製造株式会社 高親水性塗料
EP1065881B1 (en) * 1998-03-05 2008-07-09 Matsushita Electric Industrial Co., Ltd. Image coding method, image coding / decoding method, image coder, or image recording/reproducing apparatus
JP3391251B2 (ja) 1998-03-25 2003-03-31 三菱電機株式会社 適応確率推定方法及び適応符号化方法並びに適応復号方法
US6570926B1 (en) * 1999-02-25 2003-05-27 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
US7336711B2 (en) * 2001-11-16 2008-02-26 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
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
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
EP1617586B1 (fr) 2004-07-06 2008-09-03 Proton World International N.V. Chiffrement en continu du contenu d'une mémoire externe à un processeur
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
JP2006279574A (ja) * 2005-03-29 2006-10-12 Sanyo Electric Co Ltd 復号装置と方法
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
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 株式会社東芝 画像情報伝送装置
CN101779466B (zh) * 2008-06-10 2015-02-11 松下电器产业株式会社 图像解码装置及图像编码装置
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
WO2010063184A1 (en) 2008-12-03 2010-06-10 Mediatek Inc. Method for performing parallel cabac processing with ordered entropy slices, and associated apparatus
US9467699B2 (en) * 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
CN101939994B (zh) * 2008-12-08 2013-07-17 松下电器产业株式会社 图像解码装置及图像解码方法
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
CN102754437B (zh) * 2009-10-29 2015-03-18 松下电器(美国)知识产权公司 图像编码方法、图像编码装置及集成电路
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
US8319672B2 (en) 2010-04-09 2012-11-27 Korea Electronics Technology Institute Decoding device for context-based adaptive binary arithmetic coding (CABAC) technique
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
EP2596622B1 (en) 2010-07-22 2023-06-28 Dolby Laboratories Licensing Corporation System, 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
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
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
BR122020007529B1 (pt) 2012-01-20 2021-09-21 Ge Video Compression, Llc Conceito de codificação que permite o processamento paralelo, desmultiplexador de transporte e fluxo de bites de vídeo
US9191671B2 (en) * 2012-04-19 2015-11-17 Vid Scale, Inc. System and method for error-resilient video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR102240333B1 (ko) * 2011-06-24 2021-04-13 돌비 인터네셔널 에이비 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
JP2014525187A (ja) 2011-07-15 2014-09-25 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 低遅延のためのサンプルアレイ符号化
JP2015516747A (ja) 2012-04-13 2015-06-11 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 低遅延画像符号化

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Publication number Publication date
US20160150250A1 (en) 2016-05-26
CN107094253A (zh) 2017-08-25
HK1216058A1 (zh) 2016-10-07
CN107094254A (zh) 2017-08-25
US9661335B2 (en) 2017-05-23
CN105120277A (zh) 2015-12-02
US9319692B2 (en) 2016-04-19
KR102240333B1 (ko) 2021-04-13
CN107094253B (zh) 2020-11-10
CN107094255A (zh) 2017-08-25
US10033999B2 (en) 2018-07-24
CN107071446A (zh) 2017-08-18
JP2023100970A (ja) 2023-07-19
CN107094256B (zh) 2020-02-07
KR20180004318A (ko) 2018-01-10
US9848196B2 (en) 2017-12-19
KR20210041123A (ko) 2021-04-14
US20150016524A1 (en) 2015-01-15
US9654783B2 (en) 2017-05-16
US20200322609A1 (en) 2020-10-08
EP3700207A1 (fr) 2020-08-26
HK1244373A1 (zh) 2018-08-03
RU2727171C2 (ru) 2020-07-21
FR2977111A1 (fr) 2012-12-28
KR102344519B1 (ko) 2021-12-29
KR20230067712A (ko) 2023-05-16
KR20220000420A (ko) 2022-01-03
US20140254665A1 (en) 2014-09-11
KR101907043B1 (ko) 2018-10-11
US20150195538A1 (en) 2015-07-09
US20170223353A1 (en) 2017-08-03
JP2017073806A (ja) 2017-04-13
RU2757543C1 (ru) 2021-10-18
US20190297323A1 (en) 2019-09-26
RU2018103979A (ru) 2019-08-02
CN103959787B (zh) 2017-06-20
US20160142720A1 (en) 2016-05-19
RU2739497C1 (ru) 2020-12-24
JP2018201220A (ja) 2018-12-20
RU2018103979A3 (ko) 2020-05-28
BR112013032956A2 (pt) 2017-01-24
KR20180113634A (ko) 2018-10-16
CN107094252B (zh) 2020-03-13
HK1244375A1 (zh) 2018-08-03
CN107094254B (zh) 2019-12-13
KR102095329B1 (ko) 2020-03-31
RU2613740C2 (ru) 2017-03-21
KR20150046352A (ko) 2015-04-29
US9380308B2 (en) 2016-06-28
WO2012175870A1 (fr) 2012-12-27
KR20190087671A (ko) 2019-07-24
KR101708982B1 (ko) 2017-02-21
CN107094255B (zh) 2020-01-31
CN107071446B (zh) 2020-08-11
BR112013032956A8 (pt) 2017-07-11
KR102003549B1 (ko) 2019-07-25
KR20200135580A (ko) 2020-12-02
US9319694B2 (en) 2016-04-19
US20180302632A1 (en) 2018-10-18
RU2014102226A (ru) 2015-08-10
KR20140056229A (ko) 2014-05-09
US9319693B2 (en) 2016-04-19
EP2724536A1 (fr) 2014-04-30
KR20220122797A (ko) 2022-09-02
RU2646345C1 (ru) 2018-03-02
KR20160086987A (ko) 2016-07-20
HK1244374A1 (zh) 2018-08-03
BR112013032956B1 (pt) 2022-05-03
CN107094252A (zh) 2017-08-25
HK1244377A1 (zh) 2018-08-03
JP6875333B2 (ja) 2021-05-19
KR101851477B1 (ko) 2018-04-23
HK1244376A1 (zh) 2018-08-03
US10362311B2 (en) 2019-07-23
KR20160086986A (ko) 2016-07-20
US10694186B2 (en) 2020-06-23
US20150195537A1 (en) 2015-07-09
JP7280233B2 (ja) 2023-05-23
US20230353740A1 (en) 2023-11-02
KR102185377B1 (ko) 2020-12-01
KR20160086984A (ko) 2016-07-20
KR20200035182A (ko) 2020-04-01
JP2014520470A (ja) 2014-08-21
CN107094256A (zh) 2017-08-25
US20160234512A1 (en) 2016-08-11
CN103959787A (zh) 2014-07-30
JP2021044831A (ja) 2021-03-18

Similar Documents

Publication Publication Date Title
JP6875333B2 (ja) 画像復号方法、画像復号システム及び画像復号のためのコンピュータ可読媒体
KR102465264B1 (ko) 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant