KR20240055115A - 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들 - Google Patents

이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들 Download PDF

Info

Publication number
KR20240055115A
KR20240055115A KR1020247012118A KR20247012118A KR20240055115A KR 20240055115 A KR20240055115 A KR 20240055115A KR 1020247012118 A KR1020247012118 A KR 1020247012118A KR 20247012118 A KR20247012118 A KR 20247012118A KR 20240055115 A KR20240055115 A KR 20240055115A
Authority
KR
South Korea
Prior art keywords
block
blocks
coding
decoded
decoding
Prior art date
Application number
KR1020247012118A
Other languages
English (en)
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
Application filed by 돌비 인터네셔널 에이비 filed Critical 돌비 인터네셔널 에이비
Publication of KR20240055115A publication Critical patent/KR20240055115A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • 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/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
    • 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/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

Landscapes

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

Abstract

본 발명은 이미지를 다수의 블록들(MB)로 분할하는 단계, 상기 블록들을 미리 결정된 수의 블록들의 서브셋들로 그룹화하는 단계, 블록들의 상기 서브셋들의 각각을 병렬로 코딩하는 단계 ― 고려된 서브셋의 블록들은 트래버설(traversal)의 미리 결정된 순차적 순서에 따라 코딩됨 ― 를 포함하는 적어도 하나의 이미지를 코딩하는 방법에 관한 것이다. 코딩 단계는, 고려된 서브셋의 현재 블록에 대하여, 적어도 하나의 이전에 코딩 및 디코딩된 블록에 대하여 상기 현재 블록을 예측 코딩하는 서브-단계(C341), 및 적어도 하나의 심벌의 발생의 확률에 기반하여 상기 현재 블록을 엔트로피 코딩하는 서브-단계(C345)를 포함한다. 현재 블록이 고려된 서브셋의 코딩될 첫 번째 블록인 경우, 심벌의 발생의 상기 확률은 적어도 하나의 다른 서브셋의 코딩 및 디코딩된 미리 결정된 블록에 대하여 연산되었던 것이다. 현재 블록이 서브셋의 상기 첫 번째 블록 이외에 고려된 상기 서브셋의 블록인 경우, 심벌의 발생의 상기 확률은 상기 동일 서브셋에 속하는 적어도 하나의 코딩 및 디코딩된 블록에 대하여 연산되었던 것이다.

Description

이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들{METHOD OF CODING AND DECODING IMAGES, CODING AND DECODING DEVICE AND COMPUTER PROGRAMS CORRESPONDING THERETO}
본 발명은 일반적으로 이미지 프로세싱의 분야에 관한 것으로, 보다 정확하게는 디지털 이미지들 및 디지털 이미지들의 시퀀스들의 코딩 및 디코딩에 관한 것이다.
따라서, 본 발명은 특히 현재의 비디오 코더들(MPEG, H.264 등) 또는 근간의 비디오 코더들(ITU-T/VCEG(H.265) 또는 ISO/MPEG(HVC))에서 구현되는 비디오 코딩에 적용될 수 있다.
현재의 비디오 코더들(MPEG, H264 등)은 비디오 시퀀스의 블록-방식(blockwise) 표현을 이용한다. 이미지들은 매크로-블록들로 분할되고, 각 매크로-블록은 그 자체를 블록들로 분할되며, 각 블록, 또는 매크로-블록은 인트라(intra)-이미지 또는 인터(inter)-이미지 예측에 의해 코딩된다. 따라서, 당업자에 의해 알려진 움직임 보상의 도움으로 하나 또는 둘 이상의 코딩-디코딩된 기준 이미지들에 대하여, 어떤 이미지들은 공간 예측(인트라 예측)에 의해 코딩되는 반면, 다른 이미지들은 시간 예측(인터 예측)에 의해 코딩된다. 게다가, 각 블록에 대하여, 예측에 의해 감소된 원래 블록에 대응하는 잔차 블록(residual block)이 코딩될 수 있다. 이런 블록의 계수들은 선택적인 변환(transformation) 후에 양자화되고, 그 다음 엔트로피 코더에 의해 코딩된다.
인트라 예측 및 인터 예측은 이전에 코딩 및 디코딩되었던 어떤 블록들이 현재 블록을 예측하기 위해 디코더 또는 코더 중 어느 하나에서 사용될 수 있도록 이용가능한 것을 필요로 한다. 이런 예측 코딩의 개략적 예는 도 1a에 도시되는데, 여기서, 이미지 IN는 블록들로 분할되고, 이런 이미지의 현재 블록 MBi은 해칭된 화살표에 의해 표시된 바와 같은 이전에 코딩 및 디코딩된 미리 결정된 수의 3개의 블록들 MBr1, MBr2 및 MBr3에 대하여 예측 코딩이 이루어진다. 상술한 3개의 블록들은 특히 현재 블록 MBi의 좌측에 바로 위치된 블록 MBr1, 및 현재 블록 MBi의 바로 위 및 우측 위에 각각 위치된 2개의 블록들 MBr2 및 MBr3을 포함한다.
엔트로피 코더가 여기서 더욱 특별한 관심대상이다. 엔트로피 코더는 정보의 도착의 순서로 정보를 인코딩한다. 이미지의 상단 좌측의 블록에서 시작하는 참조표시 PRS에 의해 도 1a에 도시된 바와 같이, 전형적으로 블록들의 행 단위(row-by-row) 트래버설(traversal)은 "래스터-주사(raster-scan)" 형태로 수행된다. 각 블록에 대하여 블록의 표현을 위한 필요한 정보의 다양한 항목들(블록의 유형, 예측의 모드, 잔차 계수(residual coefficient)들 등)은 엔트로피 코더로 순차적으로 보내진다.
합리적인 복잡성의 효율적인 산술 코더(arithmetical coder)는 AVC 압축 표준(또한 ISO-MPEG4 part 10 및 ITU-T H.264로 알려짐)으로 도입된 소위 "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) : 코딩될 심벌들은 비트들의 스트링(string)의 형태로 만들어진다. 그 후에, 이들 다양한 비트들은 연속하여 이진 엔트로피 코더로 전송된다.
따라서, 이들 엔트로피 코더는, 사용된 각 콘텍스트에 대하여, 고려된(considered) 콘텍스트를 위해 이전에 코딩된 심벌들에 대하여 확률들을 온 더 플라이 학습하기 위한 시스템을 구현한다. 이런 학습은 이들 심벌들의 코딩의 순서에 기반한다. 전형적으로, 이미지는 위에서 설명된 "래스터-주사" 유형의 순서에 따라 트래버스된다(traversed).
0 또는 1과 같을 수 있는 주어진 심벌 b의 코딩 동안, 이들 심벌의 발생의 확률들 Pi의 학습은 다음 방식에서 현재 블록 MBi에 대하여 업데이트 된다 :
여기서, α는 미리 결정된 값, 예를 들면, 0.95이고 Pi-1은 이런 심벌의 마지막 발생 동안 연산된 심벌 발생의 확률이다.
이런 엔트로피 코더의 개략적 예가 도 1a에 도시되는데, 여기서 이미지 IN의 현재 블록 MBi는 엔트로피 코딩이 이루어진다. 블록 MBi의 엔트로피 코팅이 시작될 때, 사용된 심벌 발생 확률들은 이전에 코딩 및 디코딩된 블록의 코딩 이후에 획득되는 것들이고, 이는 "래스터 주사" 유형의 블록들의 상술한 행 단위 트래버설에 따라 현재 블록 MBi에 바로 선행하는 것이다. 블록 단위(block-by-block) 의존에 기반한 이런 학습은 어떤 블록들에 대하여 단지 도면의 명료성을 위해, 얇은 선 화살표들로 도 1a에 표시된다.
이런 유형의 엔트로피 코딩의 문제점은, 행의 시작에 위치된 심벌의 코딩 동안, 블록들의 "래스터 주사" 트래버설을 고려하면, 사용된 확률들이 주로 이전 행의 마지막에 위치된 심벌들에 대하여 관측된 것들에 대응한다는 사실에 있다. 이제, 심벌들의 확률들의 가능한 공간 변화 때문에(예를 들면, 움직임 정보의 항목과 관련된 심벌에 대하여, 이미지의 우측 부분에 위치된 움직임은 좌측 부분에서 관찰된 것과 상이할 수 있고, 따라서 그로부터 발생하는 국부(local) 확률들과 유사할 수 있음), 코딩 동안 효율성의 손실을 초래하는 위험이 있는 확률들의 국부 타당성(appropriateness)의 부족이 관찰될 수 있다.
인터넷 주소 http://wftp3.itu.int/av-arch/jctvcsite/2010 04 A Dresden/JCTVC-A114-AnnexA.doc (on 8 February 2011)에서 입수할 수 있는 문서 "Annex A: CDCM Video Codec Decoder Specification"는 상술한 문제점을 완화시키는 코딩 방법을 설명한다. 위의 문서에서 설명된 코딩 방법은, 도 1b에 도시된 바와 같이,
- 이미지 IN을 다수의 블록들로 분할하는 단계,
- 해칭된(hatched) 화살표들에 의해 표시된 바와 같은, 이전에 코딩 및 디코딩된 미리 결정된 수의 3개의 블록들 MBr1, MBr2, 및 MBr3에 대하여 이들 이미지의 현재 블록 MBi를 예측 코딩하는 단계. 상술한 3개의 블록들은 특히 현재 블록 MBi의 좌측에 바로 위치된 블록 MBr1, 및 현재 블록 MBi의 바로 위 및 우측 위에 각각 위치된 2개의 블록들 MBr2 및 MBr3을 포함함,
- 각 블록이 현재 블록의 바로 위에 위치되는 코딩 및 디코딩된 블록에 대하여 및 현재 블록의 바로 좌측에 위치되는 코딩 및 디코딩된 블록에 대하여, 이들 블록들이 이용가능할 때, 각각 연산된 심벌 발생의 확률들을 사용하는 것에 따라 이미지 IN의 블록들을 엔트로피 코딩하는 단계. 심벌 발생의 확률들의 이런 이용은 도 1b의 명료성을 위해 얇은 선 화살표들로 도 1b에 부분적으로 표시된다.
이런 엔트로피 코딩의 장점은 그것이 현재 블록의 당면한 환경에서 발생하는 확률들을 이용하고 그에 의해 더 높은 코딩 성능을 달성하는 것을 가능하게 하는 것이다. 게다가, 사용된 코딩 기법은 미리 결정된 수의 쌍으로(pairwise) 이웃하는 블록들의 서브셋들을 병렬로 코딩하는 것을 가능하게 한다. 도 1b에 나타낸 예에서, 3개의 서브셋들 SE1, SE2 및 SE3은 병렬로 코딩되고, 각 서브셋은 이런 예에서 대시로 표시된 블록들의 행으로 구성된다. 물론, 이런 코딩 기법은, 현재 블록의 위 및 우측 위에 각각 위치된 블록들이 이용가능한 것을 필요로 한다.
이런 병렬 코딩 기법의 문제점은 현재 블록의 바로 위에 위치된 블록에 대하여 연산된 심벌 발생의 확률에 접근하도록 허용하기 위해, 블록들의 열과 관련된 다량의 확률들을 저장하는 것이 필요하다는 것이다. 블록들의 두 번째 열 SE2가 예를 들면, 도 1b에서 고려되면, 이런 열의 첫 번째 블록은 이전 첫 번째 열 SE1의 첫 번째 블록에 대하여 연산된 심벌 발생의 확률들을 이용함으로써 엔트로피 코딩이 이루어진다. 두 번째 열의 첫 번째 블록의 코딩이 완료되면, 발생의 확률의 상태의 값 V1은 버퍼 메모리(MT)에 저장된다. 두 번째 열 SE 2의 두 번째 블록은 그 후에 첫 번째 열 SE1의 두 번째 블록 및 두 번째 열 SE2의 첫 번째 블록에 대하여 한번에 및 동시에 연산된 심벌 발생의 확률들을 이용함으로써 엔트로피 코딩이 이루어진다. 두 번째 열의 첫 번째 블록의 코딩이 완료되면, 발생의 확률의 상태의 값 V2가 버퍼 메모리(MT)에 저장된다. 이런 절차는 두 번째 열 SE2의 마지막 블록까지 수행된다. 확률들의 양이 매우 크기 때문에(구문 성분(syntax element)의 수와, 관련된 콘텍스트의 수의 조합만큼 많은 확률들이 존재함), 전체 열에 걸친 이들 확률들의 저장은 메모리 자원 면에서 고가이다.
본 발명의 목적들 중 하나는 상술한 종래 기술들의 문제점들을 해결하는 것이다.
이를 위해, 본 발명의 주제는 적어도 하나의 이미지를 코딩하는 방법에 관한 것이며, 상기 방법은
- 상기 이미지를 다수의 블록들로 분할하는 단계,
- 블록들을 미리 결정된 수의 블록들의 서브셋들로 그룹화하는 단계,
- 블록들의 상기 서브셋들의 각각을 병렬로 코딩하는 단계 - 고려된 서브셋의 상기 블록들은 트래버설의 미리 결정된 순차적 순서에 따라 코딩됨 - 포함하고,
상기 코딩 단계는, 고려된 서브셋의 현재 블록에 대하여,
● 적어도 하나의 이전에 코딩 및 디코딩된 블록에 대하여 상기 현재 블록을 예측 코딩하는 서브-단계,
● 적어도 하나의 심벌 발생의 확률에 기반하여 상기 현재 블록을 엔트로피 코딩하는 서브-단계(C345)를 포함한다.
본 발명에 따른 방법은 다음에 주목할 만하다:
- 상기 현재 블록이 고려된 서브셋의 코딩될 첫 번째 블록인 경우, 상기 심벌 발생의 확률은 적어도 하나의 다른 서브셋의 코딩 및 디코딩된 미리 결정된 블록에 대하여 연산되었던 것이고,
- 상기 현재 블록이 상기 첫 번째 블록 이외에 고려된 상기 서브셋의 블록인 경우, 상기 심벌 발생의 확률은 상기 동일 서브셋에 속하는 적어도 하나의 코딩 및 디코딩된 블록에 대하여 연산되었던 것이다.
그러한 배열은, 블록들의 서브셋의 첫 번째 블록 이외의 현재 블록의 엔트로피 코딩이 다른 서브셋에서 현재 블록 위에 위치되는 이전에 코딩 및 디코딩된 블록에 대하여 연산된 심벌 발생의 확률들의 사용을 더 이상 반드시 필요로 하지 않기 때문에, 코더의 버퍼 메모리에 훨씬 적은 양의 심벌들의 발생의 확률들을 저장하는 것을 가능하게 한다.
그러한 배열은 게다가 현재 블록의 엔트로피 코딩이 현재 블록에 속하는 또 다른 이전에 코딩 및 디코딩된 서브셋의 블록에 대하여 연산된 심벌 발생의 확률들을 이용하고, 결과적으로 확률들이 비디오 신호의 통계에 따르도록 학습이 확률들의 갱신을 통하여 이미 수행되었기 때문에, 기존의 압축 성능을 유지하는 것을 가능하게 한다.
고려된 블록들의 서브셋의 첫 번째 현재 블록을 엔트로피 코딩하는 동안 상기 다른 서브셋의 첫 번째 블록에 대하여 연산된 심벌 발생의 확률들을 이용하는 주요한 장점은, 상기 다른 서브셋의 다른 연속하는 블록들에 의해 학습된 심벌 발생 확률들을 고려하지 않고, 심벌들의 발생의 상기 확률들의 갱신만을 버퍼 메모리에 저장함으로써 코더의 버퍼 메모리를 절약하는 것이다.
고려된 블록들의 서브셋의 첫 번째 현재 블록의 엔트로피 코딩 동안, 첫 번째 블록 이외에 상기 다른 서브셋의 블록, 예를 들면, 두 번째 블록에 대하여 연산된 심벌 발생 확률들의 사용의 주요한 장점은, 심벌들의 발생의 확률들을 더 정확하게 획득하고, 따라서 더 우수하게 학습하며, 그에 의해 더 우수한 비디오 압축 성능을 야기하는 것이다.
특정 실시예에서, 상기 서브셋의 상기 첫 번째 블록 이외에 코딩될 상기 현재 블록과 동일한 서브셋에 속하는 상기 코딩 및 디코딩된 블록은 코딩될 상기 현재 블록의 가장 근접한 이웃인 것이다.
따라서, 이런 방식은, 이런 특정 경우에, 첫 번째 현재 블록 위에 위치되고 다른 서브셋에 속하는 블록에 대하여 연산된 심벌 발생 확률만이 고려되기 때문에, 고려된 서브셋의 첫 번째 블록의 엔트로피 코딩 동안 학습된 심벌 발생 확률들만 저장하는 것을 가능하게 한다. 이는 코더의 메모리 자원들의 크기의 감소의 최적화를 야기한다.
다른 특정 실시예에서, 고려된 서브셋의 블록의 예측 코딩이 고려된 상기 서브셋 이외에 미리 결정된 수의 이전에 코딩 및 디코딩된 서브셋의 블록들에 대하여 수행되도록 의도되는 경우, 고려된 상기 서브셋의 블록들의 병렬 코딩은 상기 병렬 코딩이 수행되는 순서에서 바로 이전의 블록들의 서브셋에 대하여 상기 미리 결정된 수의 블록들만큼 시프트하여 수행된다.
그러한 배열은, 예를 들면, 코딩될 블록들의 현재 서브셋에 대하여, 병렬 코딩이 수행되는 순서에서 현재 서브셋에 선행하는 블록들의 서브셋의 블록들의 처리의 진행의 동기화를 허용하고, 그에 의해 현재 블록의 코딩을 위해 사용되는 이전 서브셋의 블록 또는 블록들의 이용가능성(availability)을 보장하는 것을 가능하게 한다. 이런 방식으로, 종래 기술의 병렬 코더들에서 구현되는 바와 같은 이전 서브셋의 이런 또는 이들 블록들의 이용가능성을 확인하는 단계가 유리하게 생략될 수 있고, 그에 의해 본 발명에 따라 코더에서 블록들을 처리하기 위해 필요한 처리 시간의 가속을 허용한다.
상관적으로, 본 발명은 적어도 하나의 이미지를 코딩하기 위한 디바이스에 관한 것이며, 상기 디바이스는,
- 상기 이미지를 다수의 블록들로 분할하기 위한 수단,
- 상기 블록들을 미리 결정된 수의 블록들의 서브셋들로 그룹화하기 위한 수단,
- 블록들의 상기 서브셋들의 각각을 병렬 코딩하는 수단 - 고려된 서브셋의 상기 블록들은 트래버설의 미리 결정된 순차적 순서에 따라 코딩됨 -을 포함하고,
상기 코딩 수단은, 고려된 서브셋의 현재 블록에 대하여,
● 적어도 하나의 이전에 코딩 및 디코딩된 블록에 대하여 상기 현재 블록을 예측 코딩하는 서브-수단,
● 적어도 하나의 심벌 발생의 확률에 기반하여 상기 현재 블록을 엔트로피 코딩하는 서브-수단을 포함한다.
이런 코딩 디바이스는 다음에 주목할 만하다:
- 상기 현재 블록이 고려된 서브셋의 코딩될 첫 번째 블록인 경우, 상기 엔트로피 코딩하는 서브-수단은, 상기 첫 번째 현재 블록을 엔트로피 코딩하기 위해, 적어도 하나의 다른 서브셋의 코딩 및 디코딩된 미리 결정된 블록에 대하여 연산되었던 심벌 발생의 확률을 고려하고,
- 상기 현재 블록이 고려된 상기 서브셋의 상기 첫 번째 블록 이외에 고려된 상기 서브셋의 블록인 경우, 상기 엔트로피 코딩하는 서브-수단은, 상기 현재 블록을 엔트로피 코딩하기 위해, 상기 동일 서브셋에 속하는 적어도 하나의 코딩 및 디코딩된 블록에 대하여 연산되었던 심벌 발생의 확률을 고려한다.
대응하는 방식으로, 본 발명은 또한 적어도 하나의 코딩된 이미지를 나타내는 스트림을 디코딩하는 방법에 관한 것이며, 상기 방법은,
- 미리 결정된 수의 디코딩될 블록들의 서브셋들의 상기 이미지를 식별하는 단계,
- 블록들의 상기 서브셋들의 각각과 관련되는 상기 스트림의 일부들을 병렬로 디코딩하는 단계 - 고려된 상기 서브셋의 블록들은 트래버설의 미리 결정된 순차적 순서에 따라 디코딩됨 -를 포함하고,
상기 디코딩 단계는, 고려된 서브셋의 현재 블록에 대하여,
● 적어도 하나의 심벌 발생의 확률에 기반하여 상기 현재 블록을 엔트로피 디코딩하는 서브-단계,
● 적어도 하나의 이전에 디코딩된 블록에 대하여 상기 현재 블록을 예측 디코딩하는 서브-단계를 포함한다.
이런 디코딩 방법은 다음에 주목할 만하다:
- 상기 현재 블록이 고려된 서브셋의 디코딩될 첫 번째 블록인 경우, 상기 심벌 발생의 확률은 적어도 하나의 다른 서브셋의 디코딩된 미리 결정된 블록에 대하여 연산되었던 것이고,
- 상기 현재 블록이 고려된 상기 서브셋의 상기 첫 번째 블록 이외에 고려된 상기 서브셋의 블록인 경우, 상기 심벌 발생의 확률은 상기 동일 서브셋에 속하는 적어도 하나의 디코딩된 블록에 대하여 연산되었던 것이다.
특정 실시예에서, 상기 서브셋의 상기 첫 번째 블록 이외에 디코딩될 상기 현재 블록과 동일한 서브셋에 속하는 상기 디코딩된 블록은 디코딩될 상기 현재의 블록의 가장 근접한 이웃인 것이다.
다른 특정 실시예에서, 고려된 서브셋의 블록의 예측 디코딩이 고려된 상기 서브셋 이외에 미리 결정된 수의 이전에 디코딩된 서브셋의 블록들에 대하여 수행되도록 의도되는 경우, 고려된 상기 서브셋의 블록들의 병렬 디코딩은 상기 병렬 디코딩이 수행되는 순서에서 바로 이전의 블록들의 서브셋에 대하여 상기 미리 결정된 수의 블록들만큼 시프트하여 수행된다.
상관적으로, 본 발명은 또한 적어도 하나의 코딩된 이미지를 나타내는 스트림을 디코딩하기 위한 디바이스에 관한 것이며, 상기 디바이스는,
- 미리 결정된 수의 디코딩될 블록들의 서브셋들을 상기 이미지에서 식별하는 수단,
- 블록들의 상기 서브셋들의 각각과 관련되는 상기 스트림의 일부들을 병렬 디코딩하는 수단 - 고려된 상기 서브셋의 블록들은 트래버설의 미리 결정된 순차적 순서에 따라 디코딩됨 -을 포함하고,
상기 디코딩 수단은, 고려된 서브셋의 현재 블록에 대하여,
● 적어도 하나의 심벌 발생의 확률에 기반하여 상기 현재 블록을 엔트로피 디코딩하는 서브-수단,
● 적어도 하나의 이전에 디코딩된 블록에 대하여 상기 현재 블록을 예측 디코딩하는 서브-수단을 포함한다.
이런 디코딩 디바이스는 다음에 주목할 만하다:
- 상기 현재 블록이 고려된 서브셋의 디코딩될 첫 번째 블록인 경우, 엔트로피 디코딩하는 서브-수단은, 상기 첫 번째 현재 블록을 엔트로피 디코딩하기 위해, 적어도 하나의 다른 서브셋의 디코딩된 미리 결정된 블록에 대하여 연산되었던 심벌 발생의 확률을 고려하고,
- 상기 현재 블록이 고려된 상기 서브셋의 상기 첫 번째 블록 이외에 고려된 상기 서브셋의 블록인 경우, 상기 엔트로피 디코딩하는 서브-수단은, 상기 현재 블록을 엔트로피 디코딩하기 위해, 상기 동일 서브셋에 속하는 적어도 하나의 디코딩된 블록에 대하여 연산되었던 심벌 발생의 확률을 고려한다.
본 발명은 또한 프로그램이 컴퓨터에 의해 실행되는 경우, 위에서 설명한 코딩 또는 디코딩 방법의 단계들의 실행을 위한 명령들을 포함하는 컴퓨터 프로그램을 목적으로 한다.
이런 프로그램은 임의의 프로그래밍 언어를 사용할 수 있고, 소스 코드, 목적 코드(object code), 또는 부분적으로 컴파일된 형태와 같은 소스 코드와 목적 코드 사이의 중간 코드의 형태 또는 임의의 다른 바람직한 형태일 수 있다.
본 발명의 또 다른 주제는 또한 컴퓨터에 의해 판독 가능하고 상술한 바와 같은 컴퓨터 프로그램 명령들을 포함하는 기록 매체를 목적으로 한다.
기록 매체는 프로그램을 저장할 수 있는 임의의 엔티티 또는 디바이스일 수 있다. 예를 들면, 이런 매체는 ROM과 같은 저장 수단, 예를 들면, CD ROM 또는 마이크로 전자 회로 ROM, 또는 그 외의 자기 기록 수단, 예를 들면, 디스켓(플로피 디스크) 또는 하드 디스크를 포함할 수 있다.
게다가, 이런 기록 매체는 전기 또는 광학 케이블을 통하여, 무선에 의해, 또는 다른 수단에 의해 전달될 수 있는 전기 또는 광학 신호와 같은 전달 가능한 매체일 수 있다. 본 발명에 따른 프로그램은 특히 인터넷 유형의 네트워크 상에서 다운로드될 수 있다.
대안적으로, 이런 기록 매체는 프로그램이 그 안에 통합되는 집적 회로일 수 있고, 집적 회로는 해당 방법을 실행하기 위해 또는 방법의 실행에 사용되도록 적응된다.
상술한 코딩 디바이스, 디코딩 방법, 디코딩 디바이스 및 컴퓨터 프로그램들은 본 발명에 따른 코딩 방법에 의해 부여되는 것들과 적어도 동일한 장점을 제시한다.
다른 특징들 및 장점들은 도면들을 참조하여 설명된 2개의 바람직한 실시예들을 읽을 때 명백하게 될 것이다.
- 도 1a는 제 1 예에 따른 종래 기술의 이미지 코딩 다이어그램을 도시하고,
- 도 1b는 제 2 예에 따른 종래 기술의 이미지 코딩 다이어그램을 도시하며,
- 도 2a는 본 발명에 따른 코딩 방법의 주요 단계들을 도시하고,
- 도 2b는 도 2a의 코딩 방법에서 구현되는 병렬 코딩을 상세하게 도시하며,
- 도 3a는 본 발명에 따른 코딩 디바이스의 실시예를 도시하고,
- 도 3b는 도 3a의 코딩 디바이스에 대한 코딩 유닛을 도시하며,
- 도 4a는 제 1 바람직한 실시예에 따른 이미지 코딩/디코딩 다이어그램을 도시하고,
- 도 4b는 제 2 바람직한 실시예에 따른 이미지 코딩/디코딩 다이어그램을 도시하며,
- 도 5a는 본 발명에 따른 디코딩 방법의 주요 단계들을 도시하고,
- 도 5b는 도 5a의 디코딩 방법에서 구현되는 병렬 디코딩을 상세하게 도시하며,
- 도 6a는 본 발명에 따른 디코딩 디바이스의 실시예를 도시하고,
- 도 6b는 도 6a의 디코딩 디바이스의 디코딩 유닛을 도시한다.
코딩 부분의 실시예의 상세한 설명
본 발명의 실시예가 이제 설명될 것이고, 여기서, 본 발명에 따른 코딩 방법은 H.264/MPEG-4 AVC 표준에 따른 코딩에 의해 획득되는 것과 근사한 이진 스트림에 따른 이미지들의 시퀀스를 코딩하도록 사용된다. 이런 실시예에서, 본 발명에 따른 코딩 방법은 예를 들면, 초기에 H.264/MPEG-4 AVC 표준에 따른 코더의 수정들에 의해 소프트웨어 또는 하드웨어 방식으로 구현된다. 본 발명에 따른 코딩 방법은 도 2a에 도시된 단계들(C1 내지 C5)을 포함하는 알고리즘의 형태로 도시된다.
본 발명의 실시예에 따르면, 본 발명에 따른 코딩 방법은 도 3a에 도시된 코딩 디바이스(CO)에서 구현된다.
도 2a를 참조하여, 제 1 코딩 단계(C1)는, 도 4a 또는 도 4b에 도시된 바와 같이, 코딩될 이미지들의 시퀀스의 이미지(IE)의 다수의 블록들 또는 매크로-블록들(MB)로 분할하는 단계이다. 도시된 예들에서, 상기 블록들(MB)은 정사각형 형상을 갖고 모두가 동일한 크기를 갖는다. 반드시 블록들의 크기의 배수가 아닌 이미지의 크기의 함수로서, 좌측 상의 마지막 블록들 및 하부에서 마지막 블록들은 정사각형이 아닐 수 있다. 대안적인 실시예에서, 블록들은 예를 들면, 직사각형 크기 및/또는 서로 정렬되지 않을 수 있다.
각 블록 또는 매크로블록은 게다가 그 자체로 그것들 자체가 세분될 수 있는(subdividable) 서브-블록들로 분할될 수 있다.
이런 분할은 예를 들면, 이와 같이 알려진 파티션 알고리즘을 사용하는 도 3a에 도시된 파티션(partition) 모듈(PCO)에 의해 수행된다.
도 2a를 참조하여, 제 2 코딩 단계(C2)는 상술한 블록들을 병렬로 코딩되도록 의도된 미리 결정된 수 P개의 연속하는 블록들의 서브셋들 SE1, SE2,...,SEk,...SEP로 그룹화하는 단계이다. 도 4a 및 도 4b에 도시된 예들에서, 미리 결정된 수 P개는 4와 같고 대시로 도시된 4개의 서브셋들 SE1, SE2, SE3, SE4는 각각 이미지 IE의 첫 번째 4개의 블록들의 열들로 구성된다.
이런 그룹화는 그 자체로 잘 알려진 알고리즘의 도움으로 도 3a에 도시된 연산 모듈(GRCO)에 의해 수행된다.
도 2a를 참조하여, 제 3 코딩 단계(C3)는 블록들의 상기 서브셋들 SE1, SE2, SE3 및 SE4의 각각을 병렬로 코딩하는 단계에 있고, 고려된 서브셋의 블록들은 트래버설 PS의 미리 결정된 순차적 순서에 따라 코딩된다. 도 4a 및 도 4b에 도시된 예들에서, 현재 서브셋 SEk(1≤k≤4)의 블록들은 화살표 PS에 의해 지시된 바와 같이, 좌측에서 우측으로 차례로 코딩된다.
이런 병렬 코딩은 도 3a에 도시된 바와 같이, R=4인 다수의 R개의 코딩 유닛들(UCk(1≤k≤R))에 의해 구현되고, 코딩 방법의 상당한 가속을 허용한다. 이와 같이 알려진 방법으로, 코더(CO)는 현재 블록의 코딩과 협력하여 계속적으로 갱신되는 바와 같은 심벌 발생 확률들을 포함하도록 적응되는 버퍼 메모리(MT)를 포함한다.
도 3b에 더 상세하게 도시된 바와 같이, 코딩 유닛들(UCk)의 각각은,
● SUCPk로 지시된, 적어도 하나의 이전 코딩 및 디코딩된 블록에 대하여 현재 블록을 예측 코딩하기 위한 서브-유닛;
● SUCEk로 지시된, 상기 이전 코딩 및 디코딩된 블록들에 대하여 연산된 적어도 하나의 심벌 발생의 확률을 이용함으로써 상기 현재 블록을 엔트로피 코딩하기 위한 서브-유닛을 포함한다.
예측 코딩 서브-유닛(SUCPk)은 예를 들면, 인트라 및/또는 인터 모드에서와 같은 종래의 예측 기법들에 따라 현재 블록의 예측 코딩을 수행할 수 있다.
엔트로피 코딩 서브-유닛(SUCEk)은 CABAC 유형의 그 일부이지만, 명세서(description)에서 더 설명될 것과 같이, 본 발명에 따라 수정된다.
변형예로서, 엔트로피 코더 서브-유닛(SUCEk)은 이와 같이 알려진 허프만(Huffman) 코더일 수 있다.
도 4a 및 도 4b에 도시된 예들에서, 제 1 유닛(UC1)은 첫 번째 열 SE1의 블록들을 좌측에서 우측으로 코딩한다. 그것이 첫 번째 열 SE1의 마지막 블록에 도달하면, 그것은 (N+1) 번째 열, 여기서 5 번째 열 등의 첫 번째 블록으로 이동한다. 제 2 유닛(UC2)은 두 번째 열 SE2의 블록들을 좌측에서 우측으로 코딩한다. 그것이 두 번째 열 SE2의 마지막 블록에 도달하면, 그것은 (N+2) 번째 열, 여기서 6 번째 열 등의 첫 번째 블록으로 이동한다. 이런 트래버설은 네 번째 열 SE4의 블록들을 좌측에서 우측으로 코딩하는 유닛(UC4)까지 반복된다. 그것이 첫 번째 열의 마지막 블록에 도달될 때, 이미지 IE의 마지막 블록이 코딩될 때까지, 그것은 (N+4) 번째 열, 여기서 8 번째 열 등등의 첫 번째 블록으로 이동한다.
위에서 방금 설명되었던 것과 다른 유형들의 트래버설도 물론 가능하다. 따라서, 이미지 IE를 다수의 서브-이미지들로 분할하고, 이런 유형의 분할을 각각의 서브-이미지에 독립적으로 적용하는 것이 가능하다. 각 코딩 유닛이, 위에서 설명된 바와 같이, 네스팅된(nested) 열들이 아니라 네스팅된 행들을 처리하는 것이 또한 가능하다. 열들 또는 행들 중 어느 하나의 방향으로 트래버스하는 것이 또한 가능하다.
도 2a를 참조하여, 제 4 코딩 단계(C4)는 상술한 코딩 유닛들의 각각에 의해 압축된 처리된 블록들을 나타내는 N 개의 서브-비트스트림들 Fk(1≤k≤N) 뿐만 아니라 각각의 서브셋 SEk의 처리된 블록들의 디코딩된 버전의 생성이다. SED1, SED2,...,SEDk,...,SEDP로 표시된 고려된 서브셋의 디코딩된 처리된 블록들은 명세서에서 더 상세하게 될 동기화 메커니즘에 따라 도 3a에 도시된 코딩 유닛들(UC1, UC2,..., UCk,..., UCP) 중 일부에 의해 재사용될 수 있다.
도 2a를 참조하여, 제 5 코딩 단계(C5)는 글로벌(global) 스트림 F를 상술한 서브-스트림들 Fk에 기반하여 구성하는 단계에 있다. 일 실시예에 따르면, 서브-스트림 Fk는 글로벌 스트림 F에서 각각의 서브-스트림 Fk의 위치를 디코더로 나타내도록 의도된 추가 정보 항목과 단지 병렬(juxtraposed)된다. 글로벌 스트림은 통신 네트워크(미도시)에 의해 원격 단말로 전송된다. 원격 단말은 도 6a에 도시된 디코더(DO)를 포함한다.
따라서, 명세서에서 더 상세하게 설명될 것과 같이, 본 발명에 따른 디코더는 글로벌 스트림 F 내의 서브-스트림들 Fk를 분리시키고 디코더의 각각의 컴포넌트 디코딩 유닛으로 그것들을 할당할 수 있다. 서브-스트림들의 글로벌 스트림으로의 이런 분해는 병렬로 동작하는 몇몇 코딩 유닛들의 사용의 선택과 독립적이고, 이런 접근법에 의해 병렬로 동작하는 유닛들을 포함하는 코더만 또는 디코더만을 갖는 것이 가능한 것에 유의할 것이다.
글로벌 스트림 F의 이런 구성은 도 3a에 도시된 바와 같은 스트림 구성 모듈(CF)에서 구현된다.
상술한 병렬 코딩 단계(C3) 동안, 코딩 유닛(UCk)에서 구현되는 바와 같은 본 발명의 다양한 특정 서브-단계들은 도 2b를 참조하여 이제 설명될 것이다.
단계 C31의 과정에서, 코딩 유닛(UCk)은 도 4a 또는 도 4b에 도시된 현재 열 SEk의 코딩될 첫 번째 블록을 현재 블록으로서 선택한다.
단계 C32의 과정에서, 유닛(UCk)은 현재 블록이 상술한 단계 C1에서 블록들로 분할되었던 이미지 IE의 첫 번째 블록(상부에서 좌측에 위치된)인지의 여부를 검사한다.
그것이 사실이면, 단계 C33의 과정에서, 코딩 확률들이 도 3a의 코더(CO)에서 이전에 정의된 값들 Pinit로 초기화된다.
그것이 사실이 아니면, 다음의 명세서에서 나중에 설명될 단계 C40의 과정에서, 필요한 이전에 코딩 및 디코딩된 블록들의 이용가능성의 결정이 착수된다.
단계 C34의 과정에서, 도 4a 또는 도 4b에 도시된 첫 번째 열 SE1의 첫 번째 현재 블록 MB1의 코딩이 착수된다. 이런 단계 C34는 이하에 설명될 다수의 서브-단계들 C341 내지 C348을 포함한다.
첫 번째 서브-단계 C341의 과정에서, 블록 MB1이 적어도 하나의 이전에 코딩 및 디코딩된 블록들에 대하여 예측되는 과정에서, 현재 블록 MB1의 예측 코딩이 인트라 및/또는 인터 예측의 알려진 기법들에 의해 착수된다.
H.264 표준에서 제안된 바와 같은 인트라 예측의 다른 모드들이 가능함은 말할 필요도 없다.
현재 블록 MB1에는, 현재 블록이 이전에 코딩 및 디코딩된 이미지로부터 발생된 블록에 대하여 예측되는 과정에서, 또한 인터 모드로 예측 코딩이 이루어질 수 있다. 다른 유형들의 예측이 물론 구상 가능하다. 현재 블록에 대하여 가능한 예측들 중에서, 최적 예측이 당업자에게 잘 알려진 비율 왜곡(rate distortion) 기준에 따라 선택된다.
상기 상술한 예측 코딩 단계는 현재 블록 MB1의 근삿값인 예측된 블록 MBp1을 구성하는 것을 가능하게 한다. 이런 예측 코딩과 관련된 정보는 나중에 디코더(DO)로 전송되는 스트림 F 안에 기록될 것이다. 이런 정보는 특히 예측의 유형(인터 또는 인트라), 및 적합하면, 인트라 예측의 모드, 블록 또는 매크로블록이 세분되었던 경우, 블록 또는 매크로블록의 파티션의 유형, 기준 이미지 인덱스 및 인터 예측 모드에서 사용된 변위 벡터를 포함한다. 이런 정보는 코더(CO)에 의해 압축된다.
다음의 서브-단계 C342의 과정에서, 잔차 블록 MBr1을 생성하기 위해 현재 블록 MB1에서 예측된 블록 MBp1의 감산이 착수된다.
다음의 서브-단계 C343의 과정에서, 변환된 블록 MBt1을 생성하기 위해, 예를 들면, DCT 유형의 이산 코사인 변환과 같은 직접 변환의 종래의 연산에 따라 잔차 블록 MBr1의 변환이 착수된다.
다음의 서브-단계 C344의 과정에서, 예를 들면, 스칼라 양자화와 같은 종래의 양자화 연산에 따라 변환된 블록 MBt1의 양자화가 착수된다. 이어서, 양자화된 계수들의 블록 MBq1이 획득된다.
다음의 서브-단계 C345의 과정에서, 양자화된 계수들의 블록 MBq1의 엔트로피 코딩이 착수된다. 바람직한 실시예에서, 이는 CABAC 엔트로피 코딩을 수반한다.
다음의 서브-단계 C346의 과정에서, 블록 MBq1의 역양자화(dequantization)가 종래의 역양자화 연산에 따라 착수되는데, 이는 단계 C344에서 수행된 양자화의 반대 연산이다. 이어서, 역양자화된 계수들의 블록 MBDq1이 획득된다.
다음의 서브-단계 C347의 과정에서, 위의 단계 C343에서 수행된 직접 변환의 반대의 연산인 역양자화된 계수들의 블록 MBDq1의 역변환이 착수된다. 이어서, 디코딩된 잔차 블록 MBDr1이 획득된다.
다음의 서브-단계 C348의 과정에서, 예측된 블록 MBp1에 디코딩된 잔차 블록 MBDr1을 가산함으로써 디코딩된 블록 MBD1의 구성이 착수된다. 디코딩된 잔차 블록은 명세서에서 더 상세하게 설명될 이미지 IE를 디코딩하는 방법의 완료 시 획득된 디코딩된 블록과 동일한 것임에 유의해야 한다. 따라서, 디코딩된 블록 MBD1은 코딩 유닛(UC1) 또는 미리 결정된 수 R개의 코딩 유닛들 중 일부를 형성하는 임의의 다른 코딩 유닛에 의해 사용되도록 이용가능하게 만들어진다.
상술한 코딩 단계 C34의 완료 시, 도 3b에 도시된 바와 같은 엔트로피 코딩 서브-유닛(SUCEk)은 첫 번째 블록의 코딩과 협력하여 계속하여 갱신된 바와 같은 모든 확률들을 포함한다. 이들 확률들은 다양한 가능한 구문 성분들 및 다양한 관련 코딩 콘텍스트들에 대응한다.
상술한 코딩 단계 C34 후에, 단계 C35의 과정에서, 현재 블록이 이런 동일 열의 j 번째 블록인지의 여부를 결정하기 위한 검사가 수행되는데, 여기서 j는 적어도 1과 동일한 코더(CO)의 알려진 미리 결정된 값이다.
그것이 사실이면, 단계 C36의 과정에서, j 번째 블록에 대하여 연산된 확률들의 세트가 도 3a 및 도 4a 및 도 4b에 도시된 바와 같은 코더(CO)의 버퍼 메모리(MT)에 저장되고, 상기 메모리의 크기는 연산된 수의 확률들을 저장하기 위해 적합하다.
단계 C37의 과정에서, 유닛(UCk)은 방금 코딩되었던 열 SEk의 현재 블록이 이미지 IE의 마지막 블록인지의 여부를 검사한다.
그것이 사실이면, 단계 C38의 과정에서, 코딩 방법은 종료된다.
그것이 사실이 아니면, 단계 C39의 과정에서, 도 4a 또는 도 4b의 화살표 PS에 의해 도시된 트래버설의 순서에 따라 코딩될 다음 블록 MBi의 선택이 착수된다.
단계 C35의 과정에서, 현재 블록이 고려된 열 SEk의 j 번째 블록이 아니면, 위의 단계 C37이 착수된다.
단계 C40의 과정에서, 현재 블록 MBi을 코딩하기 위해 필요한 이전에 코딩 및 디코딩된 블록들의 이용가능성의 결정이 착수된다. 이것이 상이한 코딩 유닛들(UCk)에 의해 이미지 IE의 블록들의 병렬 코딩을 수반한다는 사실을 고려하면, 그것은 이들 블록들이 이들 블록들의 코딩에 할당된 코딩 유닛에 의해 코딩 및 디코딩되지 않았고, 따라서, 그것들이 아직 이용가능하지 않다는 것일 수 있다. 상기 결정 단계는 이전 열 SEk-1에 위치된 미리 결정된 수 N'개의 블록들, 예를 들면, 현재 블록의 위 및 우측 위에 각각 위치된 2개의 블록들이 현재 블록의 코딩을 위해 이용가능한지의 여부, 즉, 그것들이 이미 코딩되었고 그 다음 그것들의 코딩에 할당된 코딩 유닛(UCk-1)에 의해 디코딩되었는지의 여부를 확인하는 단계에 있다. 상기 결정 단계는 또한 코딩될 현재 블록 MBi의 좌측에 위치된 적어도 하나의 블록의 이용가능성을 확인하는 단계에 있다. 그러나, 도 4a 또는 도 4b에 도시된 실시예에서 선택된 트래버설 PS의 순서를 고려하면, 블록들은 고려된 열 SEk에서 번갈아 코딩된다. 결과적으로, 좌측의 코딩 및 디코딩된 블록은 항상 이용가능하다(열의 첫 번째 블록을 제외하고). 도 4a 또는 도 4b에 도시된 예에서, 이는 코딩될 현재 블록의 바로 좌측에 위치된 블록을 수반한다. 이런 목적을 위해, 현재 블록의 위 및 우측 위에 각각 위치된 2개의 블록들의 이용가능성만이 검사된다.
이런 검사 단계는 코딩 방법을 느리게 하기 쉽고, 본 발명에 따른 대안적인 방식으로, 도 3a에 도시된 클록(CLK)이, 현재 블록의 위 및 우측 위 각각에 위치된 2개의 블록들의 이용가능성을 확인할 필요 없이 이들 2개의 블록들의 이용가능성을 보장하도록 블록들의 코딩의 진행을 동기화하기 위해 적응된다. 따라서, 도 4a 또는 4b에 도시된 바와 같이, 코딩 유닛(UCk)은 항상 첫 번째 블록을 현재 블록의 코딩을 위해 사용되는 이전 열 SEk-1의 미리 결정된 수 N'(여기서 N'=2)개의 코딩 및 디코딩된 블록들만큼 시프트하여 코딩하기 시작한다. 소프트웨어 관점에서, 이런 클록의 구현은 코더(CO)에서 이미지 IE의 블록들을 처리하는데 필요한 프로세싱 시간을 현저하게 가속하는 것을 가능하게 한다.
단계 C41의 과정에서, 현재 블록이 고려된 열 SEk의 첫 번째 블록인지의 여부를 결정하기 위한 검사가 수행된다.
그것이 사실이면, 단계 C42의 과정에서, 이전 열 SEk-1의 j 번째 블록의 코딩 동안 연산된 심벌 발생 확률들만의 버퍼 메모리(MT)에서의 판독이 착수된다.
도 4a에 도시된 제 1 변형예에 따르면, j 번째 블록은 이전 열 SEk-1(j=1)의 첫 번째 블록이다. 이런 판독은 CABAC 코더의 확률들을 버퍼 메모리(MT)에 존재하는 것으로 대체하는 것에 있다. 두 번째, 세 번째 및 네 번째 열들 SE2, SE3 및 SE4의 첫 번째 각 블록들을 갖는 것으로서 취급하면, 이런 판독 단계는 얇은 선들에 의해 표시된 화살표들에 의해 도 4a에 도시된다.
도 4b에 도시되는 상술한 단계 C42의 제 2 변형예에 따르면, j 번째 블록은 이전 열 SEk-1(j=2)의 두 번째 블록이다. 이런 판독은 CABAC 코더의 확률들을 버퍼 메모리(MT)에 존재하는 것으로 대체하는 것에 있다. 두 번째, 세 번째 및 네 번째 열들 SE2, SE3 및 SE4의 첫 번째 각 블록들을 갖는 것으로서 취급하면, 이런 판독 단계는 얇은 대시 선들에 의해 표시된 화살표들에 의해 도 4b에 도시된다.
단계 C42의 다음에, 현재 블록이 위에서 설명된 단계들 C34 내지 C38의 반복에 의해 코딩되고 그 다음 디코딩된다.
상술한 단계 C41의 다음에, 현재 블록이 고려된 열 SEk의 첫 번째 블록이 아니면, 동일 열 SEk에 위치되는 이전에 코딩 및 디코딩된 블록, 즉, 도시된 예에서 현재 블록의 바로 좌측에 위치된 코딩 및 디코딩된 블록으로부터 발생하는 확률들의 판독은 유리하게 착수되지 않는다. 사실은, 도 4a 또는 도 4b에 도시된 바와 같이, 동일 열에 위치된 블록들의 판독의 순차적 트래버설 PS를 고려하면, CABAC 코더에 존재하는 심벌 발생 확률들은, 현재의 블록의 코딩이 시작할 때, 틀림없이 이런 동일 열의 이전 블록의 코딩/디코딩 이후에 존재하는 것이다.
결과적으로, 단계 C43의 과정에서, 상기 현재 블록의 엔트로피 코딩에 대한 심벌 발생의 확률들의 학습이 착수되는데, 이런 확률들은 도 4a 또는 도 4b의 이중 실선 화살표들에 의해 도시된 바와 같이, 동일 열의 상기 이전 블록에 대하여 연산되었던 것들에만 대응한다.
단계 C43의 다음에, 현재 블록이 위에 설명된 단계들 C34 내지 C38의 반복에 의해 코딩되고 그 다음 디코딩된다.
디코딩 부분의 실시예의 상세한 설명
본 발명에 따른 디코딩 방법의 실시예가 이제 설명될 것이고, 여기서, 디코딩 방법은 초기에 H.264/MPEG-4 AVC 표준에 따른 디코더의 수정들에 의해 소프트웨어 또는 하드웨어 방식으로 구현된다.
본 발명에 따른 디코딩 방법은 도 5a에 도시된 단계들(D1 내지 D4)을 포함하는 알고리즘의 형태로 도시된다.
본 발명의 실시예들에 따르면, 본 발명에 따른 디코딩 방법은 도 6a에 도시된 디코딩 디바이스(DO)에서 구현된다.
도 5a를 참조하여, 제 1 디코딩 단계(D1)는, 도 4a 또는 도 4b에 도시된 바와 같이, 이전에 코딩된 블록들 또는 매크로-블록(MB)의 N 개의 서브셋들 SE1, SE2,..., SEk,...,SEP 각각을 포함하는 N 개의 서브-스트림들 F1, F2,...,Fk,..., FP의 상기 스트림 F의 식별이다. 이런 목적을 위해, 스트림 F의 각 서브-스트림 Fk는 디코더(DO)가 스트림 F의 각각의 서브-스트림 Fk의 위치를 결정하게 하도록 의도된 표시자(indicator)와 관련된다. 도시된 예에서, 상기 블록들(MB)은 정사각형 형상을 갖고 모두가 동일한 크기를 갖는다. 반드시 블록들의 크기의 배수가 아닌 이미지의 크기의 함수로서, 좌측 상의 마지막 블록들 및 하부에서 마지막 블록들은 정사각형이 아닐 수 있다. 대안적인 실시예에서, 블록들은, 예를 들면, 직사각형 크기 및/또는 서로 정렬되지 않을 수 있다.
각 블록 또는 매크로블록은 게다가 그 자체로 그것들 자체가 세분될 수 있는 서브-블록들로 분할될 수 있다.
이런 식별은 도 6a에 도시된 바와 같은 스트림 추출 모듈(EXDO)에 의해 수행된다.
도 4a 또는 도 4b에 도시된 예에서, 미리 결정된 수는 4와 같고, 4개의 서브셋들 SE1, SE2, SE3, SE4는 대시로 도시된다.
도 5a를 참조하여, 제 2 디코딩 단계(D2)는 블록들의 상기 서브셋들 SE1, SE2, SE3 및 SE4의 각각을 병렬로 디코딩하는 단계이고, 고려된 서브셋의 블록들은 트래버설 PS의 미리 결정된 순차적 순서에 따라 코딩된다. 도 4a 또는 도 4b에 도시된 예들에서, 현재 서브셋 SEk(1≤k≤4)의 블록들은 화살표 PS에 의해 지시된 바와 같이, 좌측에서 우측으로 번갈아 디코딩된다. 단계 D2의 완료 시, 디코딩된 블록들의 서브셋들 SED1, SED2, SED3,....,SEDk,..., SEDP가 획득된다.
이런 병렬 디코딩은 도 6a에 도시된 바와 같이, R=4인 다수의 R개의 디코딩 유닛들(UDk(1≤k≤R))에 의해 구현되고, 디코딩 방법의 상당한 가속을 가능하게 한다. 이와 같이 알려진 방법으로, 디코더(DO)는 현재 블록의 디코딩과 협력하여 계속적으로 갱신되는 바와 같은 심벌들의 발생의 확률들을 포함하도록 적응되는 버퍼 메모리(MT)를 포함한다.
도 6b에 더 상세하게 도시된 바와 같이, 디코딩 유닛들(UDk)의 각각은,
● SUDEk로 지시된, 적어도 하나의 이전 디코딩된 블록에 대하여 연산된 적어도 하나의 심벌 발생의 확률을 학습함으로써 상기 현재 블록을 엔트로피 디코딩하기 위한 서브-유닛,
● SUDPk로 지시된, 상기 이전 디코딩된 블록들에 대하여 현재 블록의 예측 디코딩을 하기 위한 서브-유닛을 포함한다.
예측 디코딩 서브-유닛(SUDPk)은 예를 들면, 인트라 및/또는 인터 모드에서와 같은 종래의 예측 기법들에 따라 현재 블록의 예측 디코딩을 수행할 수 있다.
엔트로피 디코딩 서브-유닛(SUDEk)은 CABAC 유형의 그 일부이지만, 명세서에서 더 설명될 것과 같이, 본 발명에 따라 수정된다.
변형예로서, 엔트로피 디코더 서브-유닛(SUDEk)은 이와 같이 알려진 허프만 디코더일 수 있다.
도 4a 또는 도 4b에 도시된 예들에서, 제 1 유닛(UD1)은 첫 번째 열 SE1의 블록들을 좌측에서 우측으로 디코딩한다. 그것이 첫 번째 열 SE1의 마지막 블록에 도달하면, 그것은 (N+1) 번째 열, 여기서 5 번째 열 등의 첫 번째 블록으로 이동한다. 제 2 유닛(UC2)은 두 번째 열 SE2의 블록들을 좌측에서 우측으로 디코딩한다. 그것이 두 번째 열 SE2의 마지막 블록에 도달하면, 그것은 (N+2) 번째 열, 여기서 6 번째 열 등의 첫 번째 블록으로 이동한다. 이런 트래버설은 네 번째 열 SE4의 블록들을 좌측에서 우측으로 디코딩하는 유닛(UD4)까지 반복된다. 그것이 첫 번째 열의 마지막 블록에 도달하면, 마지막 식별된 서브-스트림의 마지막 블록이 디코딩될 때까지, 그것은 (N+4) 번째 열, 여기서 8 번째 열 등등의 첫 번째 블록으로 이동한다.
위에서 방금 설명되었던 것과 다른 유형들의 트래버설도 물론 가능하다. 예를 들면, 각 디코딩 유닛이, 위에서 설명된 바와 같이, 네스팅된 열들이 아니라 네스팅된 행들을 처리할 수 있다. 열들 또는 행들 중 어느 하나의 방향으로 트래버스하는 것이 또한 가능하다.
도 5a를 참조하여, 제 3 디코딩 단계(D3)는 디코딩 단계 D2에서 획득된 각 디코딩된 서브셋 SED1, SED2,...,SEDk,...,SEDP에 기반하여 디코딩된 이미지의 재구성이다. 보다 정확하게는, 각 디코딩된 서브셋 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의 과정에서, 디코딩 확률들이 도 6a의 디코더(DO)에서 이전에 정의된 값들 Pinit로 초기화된다.
그것이 사실이 아니면, 다음의 명세서에서 나중에 설명될 단계 D30의 과정에서, 필요한 이전에 디코딩된 블록들의 이용가능성의 결정이 착수된다.
단계 D24의 과정에서, 도 4a 또는 도 4b에 도시된 첫 번째 열 SE1의 첫 번째 현재 블록 MB1의 디코딩이 착수된다. 이런 단계 D24는 이하에 설명될 다수의 서브-단계들 D241 내지 D246을 포함한다.
첫 번째 서브-단계 D241의 과정에서, 현재 블록과 관련된 구문 성분들의 엔트로피 디코딩이 착수된다. 보다 정확하게는 현재 블록과 관련된 구문 성분들은 도 6b에 도시된 바와 같은 CABAC 엔트로피 디코딩 서브-유닛(SUDE1)에 의해 디코딩된다. 엔트로피 디코딩 서브-유닛은 구문 성분들을 생성하기 위해 압축된 파일의 서브-비트스트림 F1을 디코딩하고, 동시에 이런 서브-유닛이 심벌을 디코딩하는 때에, 이런 심벌의 발생의 확률들이, 상술한 엔트로피 코딩 단계 C345 동안, 이런 동일한 심벌의 코딩 동안 획득된 것과 동일한 것과 같은 방법으로 그것의 확률들을 갱신한다.
다음의 서브-단계 D242의 과정에서, 블록 MB1이 적어도 하나의 이전에 디코딩된 블록에 대하여 예측되는 과정에서, 현재 블록 MB1의 예측 디코딩이 인트라 및/또는 인터 예측의 알려진 기법들에 의해 착수된다.
H.264 표준에서 제안된 바와 같은 인트라 예측의 다른 모드들이 가능함은 말할 필요도 없다.
이런 단계의 과정에서, 예측 디코딩은 이전 단계에서 디코딩된 구문 성분들의 도움으로 수행되고, 특히 예측의 유형(인터 또는 인트라), 및 적합하면, 인트라 예측의 모드, 블록 또는 매크로블록이 세분되었던 경우, 블록 또는 매크로블록의 파티션의 유형, 기준 이미지 인덱스 및 인터 예측 모드에서 사용된 변위 벡터를 포함한다.
상기 상술한 예측 디코딩 단계는 예측된 블록 MBp1을 구성하는 것을 가능하게 한다.
다음의 서브-단계 D243의 과정에서, 이전에 디코딩된 구문 성분들의 도움으로 양자화된 잔차 블록 MBq1의 구성이 착수된다.
다음의 서브-단계 D244의 과정에서, 디코딩된 역양자화된 블록 MBDt1을 생성하기 위해 상술한 단계 C344에서 수행된 양자화의 반대 연산인 종래의 역양자화 연산에 따라 양자화된 잔차 블록 MBq1의 역양자화가 착수된다.
다음의 서브-단계 D245의 과정에서, 위의 단계 C343에서 수행된 직접 변환의 반대의 연산인 역양자화된 블록 MBDt1의 역변환이 착수된다. 이어서, 디코딩된 잔차 블록 MBDr1이 획득된다.
다음의 서브-단계 D246의 과정에서, 예측된 블록 MBp1에 디코딩된 잔차 블록 MBDr1을 가산함으로써 디코딩된 블록 MBD1의 구성이 착수된다. 따라서, 디코딩된 블록 MBD1은 디코딩 유닛(UD1) 또는 미리 결정된 수 N개의 디코딩 유닛들 중 일부를 형성하는 임의의 다른 디코딩 유닛에 의해 사용되도록 이용가능하게 만들어진다.
상술한 디코딩 단계 D246의 완료 시, 도 6b에 도시된 바와 같은 엔트로피 디코딩 서브-유닛(SUDE1)은 첫 번째 블록의 디코딩과 협력하여 계속하여 갱신된 바와 같은 모든 확률들을 포함한다. 이들 확률들은 다양한 가능한 구문 성분들 및 다양한 관련된 디코딩 콘텍스트들에 대응한다.
상술한 디코딩 단계 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의 반복에 의해 디코딩된다.

Claims (2)

  1. 이미지 디코딩 방법으로서:
    적어도 하나의 코딩된 이미지를 나타내는 스트림을 수신하는 단계;
    상기 스트림으로부터 복수의 블록 그룹들을 식별하는 단계;
    복수의 블록 그룹들 중 특정 블록 그룹 내의 제1 블록을 처리하는 단계로서:
    상기 제1 블록이 상기 특정 블록 그룹에서 블록의 순서상 첫 번째라고 결정하는 단계;
    상기 제1 블록이 상기 특정 블록 그룹에서 블록의 순서상 첫 번째라고 결정하는 것에 응답하여, 제1 세트의 심벌 발생 확률들을 검색(retrieving)하는 단계 - 상기 제1 세트의 심벌 발생 확률은 상기 복수의 블록 그룹들 중 상기 특정 블록 그룹과 상이한 다른 블록 그룹에 속하는 블록의 순서상 두 번째인 블록과 연관됨 -;
    상기 제1 세트의 심벌 발생 확률들에 기반하여 상기 제1 블록을 엔트로피 디코딩하여 양자화된 잔차 블록을 획득하는 단계;
    상기 양자화된 잔차 블록을 역양자화하여 역양자화된 블록을 획득하는 단계; 및
    상기 역양자화된 블록을 역변환하여 디코딩된 잔차 블록을 획득하는 단계를 포함하는, 상기 제1 블록을 처리하는 단계; 및
    상기 특정 블록 그룹 내의 제2 블록을 처리하는 단계로서:
    상기 제2 블록이 상기 특정 블록 그룹에서 블록의 순서상 첫 번째가 아니라고 결정하는 단계;
    상기 제2 블록이 상기 특정 블록 그룹에서 블록의 순서상 첫 번째가 아니라고 결정하는 것에 응답하여, 제2 세트의 심벌 발생 확률들을 검색하는 단계 - 상기 제2 세트의 심벌 발생 확률들은 상기 복수의 블록 그룹들 중 상기 특정 블록 그룹에 속하는 이미 디코딩된 적어도 하나의 다른 블록과 연관되고, 상기 제2 세트의 심벌 발생 확률들은 상기 특정 블록 그룹에 속하지 않는 블록들과는 연관되지 않음 -;
    상기 제2 세트의 심벌 발생 확률들에 기반하여 상기 제2 블록을 엔트로피 디코딩하여 양자화된 잔차 블록을 획득하는 단계;
    상기 양자화된 잔차 블록을 역양자화하여 역양자화된 블록을 획득하는 단계; 및
    상기 역양자화된 블록을 역변환하여 디코딩된 잔차 블록을 획득하는 단계를 포함하는, 상기 제2 블록을 처리하는 단계
    를 포함하는, 이미지 디코딩 방법.
  2. 이미지 인코딩 방법으로서:
    이미지의 잔차 블록을 획득하는 단계;
    상기 잔차 블록을 변환하여 변환된 블록을 획득하는 단계;
    상기 변환된 블록을 양자화하여 양자화된 계수 블록을 획득하는 단계; 및
    상기 양자화된 계수 블록을 엔트로피 코딩하는 단계를 포함하고,
    상기 양자화된 계수 블록을 엔트로피 코딩하는 단계는:
    상기 양자화된 계수 블록이 특정 블록 그룹에서 블록의 순서상 첫 번째인지 여부를 결정하는 단계;
    상기 양자화된 계수 블록이 상기 특정 블록 그룹에서 블록의 순서상 첫 번째라고 결정하는 것을 조건으로, 제1 세트의 심벌 발생 확률들을 검색하는 단계 - 상기 제1 세트의 심벌 발생 확률들은 복수의 블록 그룹들 중 상기 특정 블록 그룹과 상이한 다른 블록 그룹에 속하는 블록의 순서상 두 번째인 제2 블록과 연관됨 -;
    상기 제1 세트의 심벌 발생 확률들에 기반하여 상기 양자화된 계수 블록을 엔트로피 코딩하는 단계; 및
    상기 양자화된 계수 블록이 상기 특정 블록 그룹에서 블록의 순서상 첫 번째가 아니라고 결정하는 것을 조건으로, 제2 세트의 심벌 발생 확률들을 검색하는 단계 - 상기 제2 세트의 심벌 발생 확률들은 미리결정된 상기 복수의 블록 그룹들 중 상기 특정 블록 그룹에 속하는 이미 코딩된 적어도 하나의 다른 블록과 연관됨 - 를 포함하고,
    상기 제2 세트의 심벌 발생 확률들은 상기 특정 블록 그룹에 속하지 않는 블록들과는 연관되지 않고,
    상기 제2 블록의 엔트로피 코딩은 상기 제2 세트의 심벌 발생 확률들에 기반하는, 이미지 인코딩 방법.
KR1020247012118A 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들 KR20240055115A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR11/51,849 2011-03-07
FR1151849A FR2972588A1 (fr) 2011-03-07 2011-03-07 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
KR1020227038796A KR102658291B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
PCT/FR2012/050380 WO2012120217A1 (fr) 2011-03-07 2012-02-23 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
KR1020227038796A Division KR102658291B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들

Publications (1)

Publication Number Publication Date
KR20240055115A true KR20240055115A (ko) 2024-04-26

Family

ID=43982459

Family Applications (10)

Application Number Title Priority Date Filing Date
KR1020207005028A KR102161761B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020197027849A KR102081922B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020217033949A KR102465264B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020227038796A KR102658291B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020157008104A KR101826294B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020247012118A KR20240055115A (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020207027634A KR102317760B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020137026437A KR101705940B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020197006425A KR102027741B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020187002895A KR101956314B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들

Family Applications Before (5)

Application Number Title Priority Date Filing Date
KR1020207005028A KR102161761B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020197027849A KR102081922B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020217033949A KR102465264B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020227038796A KR102658291B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020157008104A KR101826294B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020207027634A KR102317760B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020137026437A KR101705940B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020197006425A KR102027741B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR1020187002895A KR101956314B1 (ko) 2011-03-07 2012-02-23 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들

Country Status (10)

Country Link
US (8) US9560380B2 (ko)
EP (2) EP3716623A1 (ko)
JP (3) JP6023095B2 (ko)
KR (10) KR102161761B1 (ko)
CN (8) CN106791838B (ko)
BR (1) BR112013022793B1 (ko)
FR (1) FR2972588A1 (ko)
HK (1) HK1214050A1 (ko)
RU (4) RU2598817C2 (ko)
WO (1) WO2012120217A1 (ko)

Families Citing this family (19)

* 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
KR102489001B1 (ko) 2012-03-22 2023-01-18 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
SG11201406493RA (en) * 2012-04-13 2014-11-27 Ge Video Compression Llc Low delay picture coding
RU2720534C2 (ru) 2012-06-29 2020-04-30 ДжиИ Видео Компрешн, ЭлЭлСи Концепция потока видеоданных
FR3023112A1 (fr) * 2014-06-27 2016-01-01 Bcom Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
CN105227959B (zh) * 2014-07-03 2019-10-25 深圳力维智联技术有限公司 用于视频编码的多编码点混编流水方法及其装置
EP3251351B1 (en) * 2015-01-27 2021-07-14 Dolby International AB Predictive image encoding and decoding with pixel group based quantization
JP2016219913A (ja) * 2015-05-15 2016-12-22 富士通株式会社 画像符号化装置、画像符号化方法および画像符号化プログラム
CN105516727B (zh) * 2015-12-08 2018-09-28 浙江大华技术股份有限公司 一种图像编码方法及装置
JP6994868B2 (ja) * 2017-08-09 2022-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
US11533508B2 (en) 2018-06-08 2022-12-20 Kt Corporation Method and apparatus for encoding/decoding residual data based on a plurality of transformations
FR3081656A1 (fr) * 2018-06-27 2019-11-29 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image.
US10602147B2 (en) * 2018-07-10 2020-03-24 Samsung Display Co., Ltd. Efficient entropy coding group grouping methodology for transform mode
CN108989825B (zh) * 2018-07-18 2021-05-07 北京奇艺世纪科技有限公司 一种算术编码方法、装置及电子设备
US10863179B1 (en) * 2018-09-05 2020-12-08 Amazon Technologies, Inc. Overlapped rate control for high-quality segmented video encoding
CN113196768A (zh) * 2018-12-21 2021-07-30 索尼集团公司 图像处理装置和方法
JP2020113573A (ja) * 2019-01-08 2020-07-27 キヤノン株式会社 光電変換装置
CN111669582B (zh) 2019-03-09 2022-05-20 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统

Family Cites Families (113)

* 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 東洋インキ製造株式会社 高親水性塗料
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 三菱電機株式会社 適応確率推定方法及び適応符号化方法並びに適応復号方法
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
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
JP3764458B2 (ja) 2001-11-16 2006-04-05 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム
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
CN1225126C (zh) * 2002-10-09 2005-10-26 中国科学院计算技术研究所 用于视频编码的新型空间预测方法及其装置
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
US7412100B2 (en) 2003-09-04 2008-08-12 Qualcomm Incorporated Apparatus and method for sub-sampling images in a transform domain
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 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации
JP2007020002A (ja) 2005-07-08 2007-01-25 Sharp Corp 動画像符号化装置
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
JP4660433B2 (ja) 2006-06-29 2011-03-30 株式会社東芝 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法
US8126046B2 (en) 2006-06-30 2012-02-28 Intel Corporation Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method
CN101491097B (zh) * 2006-07-13 2011-12-14 高通股份有限公司 使用经循环对准的片段的具有细粒度可缩放性的视频编码
US8000388B2 (en) * 2006-07-17 2011-08-16 Sony Corporation Parallel processing apparatus for video compression
JP5042568B2 (ja) 2006-09-07 2012-10-03 富士通株式会社 Mpegデコーダ及びmpegエンコーダ
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的熵解码器的实现方法及装置
CN100586193C (zh) 2006-12-12 2010-01-27 华为技术有限公司 误码掩盖方法和系统
JP5045950B2 (ja) 2006-12-14 2012-10-10 日本電気株式会社 映像符号化方法、映像符号化装置および映像符号化プログラム
US20080225947A1 (en) * 2007-03-13 2008-09-18 Matthias Narroschke Quantization for hybrid video coding
US20080240242A1 (en) * 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
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 北京中星微电子有限公司 算术编码中的概率模型存储方法
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
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 キヤノン株式会社 動画像データ送信方法、通信装置、及びプログラム
DK2215726T3 (en) * 2007-11-27 2018-04-09 Proteus Digital Health Inc Transbody communication modules with communication channels
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
JP4902892B2 (ja) 2008-02-22 2012-03-21 パナソニック株式会社 撮像装置
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 株式会社東芝 画像情報伝送装置
EP2290985B1 (en) 2008-06-10 2017-05-03 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus and image coding apparatus
JP5100572B2 (ja) 2008-08-25 2012-12-19 キヤノン株式会社 符号化装置
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 動きベクトル検出装置
WO2010146782A1 (ja) * 2009-06-19 2010-12-23 三菱電機株式会社 算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法
WO2011004577A1 (ja) 2009-07-06 2011-01-13 パナソニック株式会社 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法、プログラムおよび集積回路
JP5385736B2 (ja) 2009-09-17 2014-01-08 Nttエレクトロニクス株式会社 ストリーム制御装置、ストリーム制御方法及びストリーム制御プログラム
EP2486659B1 (fr) 2009-10-05 2020-11-25 Orange Procedes de codage et de décodage d'images, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
KR100954141B1 (ko) 2009-10-12 2010-04-20 주식회사 이알에이와이어리스 궤환간섭신호를 제거하는 일체형 중계기 및 그것을 이용한 다단 중계시스템
EP2312854A1 (de) * 2009-10-15 2011-04-20 Siemens Aktiengesellschaft Verfahren zur Codierung von Symbolen aus einer Folge digitalisierter Bilder
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
WO2011052142A1 (ja) * 2009-10-29 2011-05-05 パナソニック株式会社 画像符号化方法および画像復号方法
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 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
CN101841700B (zh) * 2010-05-18 2011-11-16 宁波大学 一种面向h.264压缩比特流的视频水印方法
US20120014429A1 (en) 2010-07-15 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
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
GB2482731B (en) 2010-08-13 2016-12-21 Advanced Risc Mach Ltd A video decoding apparatus and method
US8520740B2 (en) * 2010-09-02 2013-08-27 International Business Machines Corporation Arithmetic decoding acceleration
EP2614592B1 (en) 2010-09-09 2018-06-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy encoding and decoding scheme
US10349070B2 (en) * 2010-09-30 2019-07-09 Texas Instruments Incorporated Simplified binary arithmetic coding engine
CN101977327B (zh) * 2010-11-16 2012-04-25 上海交通大学 基于嵌入式分布式视频编码描述的视频抗差错编解码方法
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
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction 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
BR112014001026B1 (pt) 2011-07-15 2022-05-03 Ge Video Compression, Llc Codificação de matriz de amostra de baixo atrasdo
US20130021350A1 (en) 2011-07-19 2013-01-24 Advanced Micro Devices, Inc. Apparatus and method for decoding using coefficient compression
EP2805491B1 (en) 2012-01-20 2021-05-12 GE Video Compression, LLC Coding concept allowing parallel processing, transport demultiplexer and video bitstream
SG11201406493RA (en) 2012-04-13 2014-11-27 Ge Video Compression Llc Low delay picture coding
WO2013158293A1 (en) 2012-04-19 2013-10-24 Vid Scale, Inc. System and method for error-resilient video coding
JP2016197823A (ja) 2015-04-03 2016-11-24 シャープ株式会社 カメラモジュール、照明ユニットおよび検知システム

Also Published As

Publication number Publication date
JP6310524B2 (ja) 2018-04-11
JP6310523B2 (ja) 2018-04-11
RU2016134795A (ru) 2018-12-11
CN106658008A (zh) 2017-05-10
CN106791838B (zh) 2019-09-06
FR2972588A1 (fr) 2012-09-14
US20150010088A1 (en) 2015-01-08
JP2017063428A (ja) 2017-03-30
US11343535B2 (en) 2022-05-24
RU2020107460A (ru) 2021-08-19
CN106534854A (zh) 2017-03-22
KR101826294B1 (ko) 2018-02-06
JP2014511643A (ja) 2014-05-15
CN106488232B (zh) 2020-10-13
RU2016134795A3 (ko) 2019-12-20
KR20180015278A (ko) 2018-02-12
HK1214050A1 (zh) 2016-07-15
US11736723B2 (en) 2023-08-22
US20190273947A1 (en) 2019-09-05
US10382784B2 (en) 2019-08-13
CN103535032B (zh) 2016-12-28
CN106454346B (zh) 2019-05-03
RU2013144585A (ru) 2015-04-20
KR102081922B1 (ko) 2020-02-26
KR20200022520A (ko) 2020-03-03
US20170142441A1 (en) 2017-05-18
JP6023095B2 (ja) 2016-11-09
CN106454345B (zh) 2019-07-12
US9560380B2 (en) 2017-01-31
US20220360817A1 (en) 2022-11-10
KR20190026062A (ko) 2019-03-12
CN106658007A (zh) 2017-05-10
CN106488232A (zh) 2017-03-08
CN106534854B (zh) 2019-09-13
KR102161761B1 (ko) 2020-10-05
US9271012B2 (en) 2016-02-23
US10681376B2 (en) 2020-06-09
KR101705940B1 (ko) 2017-02-10
RU2598817C2 (ru) 2016-09-27
CN106791838A (zh) 2017-05-31
JP2017063429A (ja) 2017-03-30
KR102027741B1 (ko) 2019-10-01
CN106454346A (zh) 2017-02-22
EP3716623A1 (fr) 2020-09-30
BR112013022793A8 (pt) 2017-07-11
KR20140015449A (ko) 2014-02-06
WO2012120217A1 (fr) 2012-09-13
BR112013022793A2 (pt) 2016-12-06
US20230353781A1 (en) 2023-11-02
US20160142733A1 (en) 2016-05-19
CN106454345A (zh) 2017-02-22
RU2715522C2 (ru) 2020-02-28
RU2766445C2 (ru) 2022-03-15
EP2684366A1 (fr) 2014-01-15
CN103535032A (zh) 2014-01-22
CN106658008B (zh) 2019-08-13
KR20150042295A (ko) 2015-04-20
BR112013022793B1 (pt) 2022-10-04
RU2651426C1 (ru) 2018-04-19
KR20190110652A (ko) 2019-09-30
KR102317760B1 (ko) 2021-10-27
KR20210131439A (ko) 2021-11-02
KR101956314B1 (ko) 2019-03-08
CN106658007B (zh) 2019-09-10
US20140016700A1 (en) 2014-01-16
RU2020107460A3 (ko) 2021-12-17
KR20220155397A (ko) 2022-11-22
US9628818B2 (en) 2017-04-18
US20210021867A1 (en) 2021-01-21
KR102658291B1 (ko) 2024-04-16
KR20200115667A (ko) 2020-10-07
KR102465264B1 (ko) 2022-11-09

Similar Documents

Publication Publication Date Title
KR102658291B1 (ko) 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
KR102095329B1 (ko) 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination