KR20110100256A - Dct 계수 부호화 모드들 간의 전환 - Google Patents

Dct 계수 부호화 모드들 간의 전환 Download PDF

Info

Publication number
KR20110100256A
KR20110100256A KR1020117015332A KR20117015332A KR20110100256A KR 20110100256 A KR20110100256 A KR 20110100256A KR 1020117015332 A KR1020117015332 A KR 1020117015332A KR 20117015332 A KR20117015332 A KR 20117015332A KR 20110100256 A KR20110100256 A KR 20110100256A
Authority
KR
South Korea
Prior art keywords
threshold
encoding mode
cumulative
coefficient
coefficients
Prior art date
Application number
KR1020117015332A
Other languages
English (en)
Other versions
KR101196792B1 (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
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20110100256A publication Critical patent/KR20110100256A/ko
Application granted granted Critical
Publication of KR101196792B1 publication Critical patent/KR101196792B1/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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6082Selection strategies
    • H03M7/6094Selection strategies according to reasons other than compression rate or data type
    • 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/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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/18Methods 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 a set of transform coefficients
    • 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
    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present

Abstract

비디오 부호화에서 양자화된 계수들의 블록을 엔트로피 부호화할 경우에 효율을 개선하기 위한 시스템 및 방법이 제공된다. 양자화된 계수들은 2가지 개별 부호화 모드들, 즉 런 모드(run mode) 부호화 모드 및 레벨 모드(level mode) 부호화 모드에서 부호화된다. 이러한 2가지 모드들 간의 전환을 위한 "규칙들(rules)"이 제공되며, 여러 실시예가 엔트로피 부호기로 하여금 그러한 규칙들 및 콘텍스트 정보에 기반하여 2가지 부호화 모드들 간에 전환되어야 할 때를 적응적으로 결정할 수 있게 해 줌으로써 그리고/또는 전환 위치(예컨대, 엔트로피 부호기가 부호화 모드들을 전환해야 할지의 여부)를 명시적으로 시그널링함으로써 실현된다.

Description

DCT 계수 부호화 모드들 간의 전환{Switching between DCT coefficient coding modes}
본 발명은 디지털 비디오 및 이미지 자료의 부호화 및 복호화에 관한 것이다. 더 구체적으로 기술하면, 본 발명은 비디오 및 이미지 부호화에서의 변환 계수들의 효율적인 부호화 및 복호화에 관한 것이다.
본 식별항목에서는 본 명세서에 첨부된 청구범위에 기재된 발명에 대한 배경 또는 전후관계를 제공하려고 한 것이다. 본 식별항목에서의 설명은 실시가능한 개념들을 포함할 수 있지만, 반드시 기존에 착안 또는 실시되었던 개념들만은 아니다. 그러므로, 본 식별항목에서 설명되는 것이 기존에 착안 또는 실시되었던 개념들이라고 암시하지 않는 한은, 본 식별항목에서 설명되는 것이 본원의 구체적인 내용 및 청구범위에 대한 선행기술이 아니며 또한 본 식별항목에 포함되어 있다고 해서 선행기술이라고 단정지어선 안 된다.
비디오 부호기는 입력 비디오를, 저장 및/또는 전송에 적합한 압축된 표현으로 변환시켜 준다. 비디오 복호기는 그와 같이 압축된 비디오 표현을 다시 가시 형태(viewable form)로 압축해제시켜 준다. 전형적으로는, 상기 부호기가 원래 비디오 시퀀스에서 일부 정보를 폐기하여 좀더 콤팩트한 형태로, 다시 말하면 좀더 낮은 비트레이트로 상기 비디오를 나타낼 수 있게 해 준다.
종래의 하이브리드 비디오 코덱들, 예를 들면 ITU-T H.263 및 H.264는 2가지 단계를 통해 비디오 정보를 부호화시켜 준다. 제1 단계에서는, 특정 픽셀 영역 또는 픽셀 "블록(block)" 내의 픽셀 값들이 예측된다. 이러한 픽셀 값들은, 예를 들면 부호화되는 블록에 근접하게 대응하는 이전에 부호화된 비디오 프레임들 중 한 비디오 프레임 내의 영역을 찾아서 표시하는 것을 포함하는 움직임 보상 메커니즘(motion compensation mechanism)들에 의해 예측될 수 있다. 변형적으로는, 픽셀 값들이 상기 블록 주위의 픽셀 값들을 사용하여 상기 블록 내부의 픽셀 값들을 추정하는 것을 포함하는 공간 메커니즘(spatial mechanism)들을 통해 예측될 수 있다. 제2 단계에서는, 예측 오차(prediction error) 또는 예측 잔차(prediction residual), 다시 말하면 예측된 픽셀 블록 및 원래의 픽셀 블록 간의 차를 부호화하는 것이 포함된다. 이는 특정 변환(예컨대, 이산 코사인 변환(Discrete Cosine Transform; DCT) 또는 그의 변형)을 사용하여 픽셀 값들의 차를 변환하고, 변환 계수(transform coefficient)들을 양자화하며, 그리고 양자화된 계수들을 엔트로피 부호화(entropy coding)함으로써 달성되는 것이 전형적이다. 양자화 프로세스의 충실도(fidelity)를 수정함으로써, 부호기는 픽셀 표현의 정확도(즉, 화질(picture quality)) 및 결과적으로 획득되는 부호화된 비디오 표현의 크기(즉, 파일 크기 또는 전송 비트레이트) 간의 밸런스를 제어할 수 있다. 여기서 유념해야 할 점은, 비디오 및/또는 이미지 압축과 관련해서, 예측을 적용하지 않고서도 실제 이미지 및/또는 비디오 프레임 블록들을 변환시키는 것이 가능하다는 점이다.
허프만 부호화 방식(Huffman coding), 산술 부호화 방식(Arithmetic Coding)과 같은 엔트로피 부호화 메커니즘들은 양자화된 변환 계수들을 나타내는 심벌 값들의 통계적 확률을 이용하여 빈도수가 높은 신호들에 짧은 코드워드들을 할당하게 해 준다. 더군다나, 변환 계수들 간의 상관(correlation)을 이용하기 위하여, 변환 계수 쌍들이 엔트로피 부호화될 수 있다. 그 외에도, 적응적 엔트로피 부호화 메커니즘들은 광범위한 이미지 및 비디오 콘텐츠에 대한 효율적인 압축을 이루게 해 주는 것이 전형적이다. 변환 계수들의 효율적인 부호화는 비디오 및 이미지 부호화 코덱들이 높은 압축 성능을 이루는데 중요한 요소이다.
본 발명의 목적은 비디오 및 이미지 부호화에서의 변환 계수들의 효율적인 부호화 및 복호화 기법을 제공하는 것이다.
한 실시예에 의하면, 블록의 마지막 비-제로 계수의 값 및 위치가 부호화된 후에, 다음 계수 그루핑, 예컨대 (런,레벨) 쌍이 부호화된다. 만약 1보다 큰 (마지막 계수를 배제한) 진폭들의 누적 합(cumulative sum)이 미리 정해진 상수 값보다 작고 블록 내의 맨 마지막 비-제로 계수의 위치가 소정 위치 임계값보다 좁다면, 다음 쌍이 부호화된다. 이러한 프로세스들은 1보다 큰 (마지막 계수를 배제한) 진폭들의 누적 합이 더이상 미리 정해진 상수 값보다 작지 않고, 그리고/또는 블록 내의 맨 마지막 비-제로 계수의 위치가 더이상 소정 위치 임계값보다 좁지 않을 때까지 반복된다. 1보다 큰 (마지막 계수를 배제한) 진폭들의 누적 합이 더 이상 미리 정해진 상수 값보다 작지 않게 되고, 그리고/또는 블록 내의 맨 마지막 비-제로 계수의 위치가 더이상 소정 위치 임계값보다 좁지 않게 되면, 나머지 계수들이 레벨 모드에서 부호화된다.
다른 한 실시예에 의하면, 블록의 마지막 비-제로 계수의 값 및 위치가 부호화된 후에, 다음 계수 그루핑, 예컨대, (런,레벨) 쌍이 부호화된다. 만약 현재 레벨의 진폭이 1보다 크다면, 비트스트림에서는 부호기가 런 모드에서 계속 부호화해야 하는지의 여부 또는 부호기가 레벨 모드로 전환하여야 할 지가 표시된다. 만약 런 모드가 표시되면, 그 프로세스는 속행되며 다음 쌍이 부호화된다. 만약 런 모드가 표시되지 않으면, 나머지 계수들이 레벨 모드에서 부호화된다.
본원 명세서에 기재된 여러 실시예는, 한 부호화 모드로부터 다른 한 부호화 모드로의 전환이 이루어져야 하는 위치를 좀더 정확하게 정의함으로써 변환 계수들의 부호화에 대한 이전의 해결방안들을 개선시켜 준다. 이는 또한 부호화 효율을 개선시켜 준다. 전환 위치의 시그널링은 어느 부분에서 부호화 모드들을 전환해야 할지를 부호기에 직접 통지해 줌으로써 명시적으로 부호화 효율을 더 향상시켜 준다.
본 발명의 이러한 이점들 및 특징들은, 본 발명의 구성 및 동작방법과 함께, 이하에서 설명되는 여러 도면에서 동일 요소들이 동일 부호들을 나타내는 첨부 도면들과 연관지어 고려된 이하의 구체적인 내용으로부터 명확하게 알 수 있을 것이다.
본 발명은 한 부호화 모드로부터 다른 한 부호화 모드로의 전환이 이루어져야 하는 위치를 좀더 정확하게 정의함으로써 변환 계수들의 부호화에 대한 이전의 해결방안들을 개선시켜 준다. 이는 또한 부호화 효율을 개선시켜 준다. 전환 위치의 시그널링은 어느 부분에서 부호화 모드들을 전환해야 할지를 부호기에 직접 통지해 줌으로써 명시적으로 부호화 효율을 더 향상시켜 준다.
여러 실시태양의 실시예들이 첨부 도면들을 참조하여 설명될 것이다.
도 1은 종래의 비디오 부호기의 블록 선도이다.
도 2는 종래의 비디오 복호기의 블록 선도이다.
도 3은 전형적인 변환 및 계수 부호화 순서를 예시한 도면이다.
도 4는 한 실시예에 따른, DCT 계수들의 부호화를 위해 수행되는 여러 프로세스를 예시하는 흐름도이다.
도 5는 다른 한 실시예에 따른, DCT 계수들의 부호화를 위해 수행되는 여러 프로세스를 예시하는 흐름도이다.
도 6은 본 발명의 여러 실시예와 함께 사용하기 위한 범용 멀티미디어 통신 시스템을 나타내는 도면이다.
도 7은 본 발명의 여러 실시예의 구현과 함께 사용될 수 있는 전자 기기의 사사도이다.
도 8은 도 7의 전자 기기에 포함될 수 있는 회로를 개략적으로 나타내는 도면이다.
여러 실시예는 비디오 및/또는 이미지 부호화에서 양자화된 계수들(예컨대, DCT 계수들을 엔트로피 부호화할 경우에 효율을 개선하기 위한 방법에 관한 것이다. 양자화된 계수들은 2가지의 개별 부호화 모드들, 즉 런 모드(run mode) 부호화 모드 및 레벨 모드(level mode) 부호화 모드에서 부호화된다. 이러한 2가지 모드들 간의 전환을 위한 "규칙들(rules)"이 또한 제공되며, 여러 실시예가 엔트로피 부호기로 하여금 그러한 규칙들 및 콘텍스트 정보에 기반하여 2가지 부호화 모드들 간에 전환되어야 할 때를 적응적으로 결정할 수 있게 해 줌으로써 그리고/또는 전환 위치를 명시적으로 시그널링함으로써(예컨대, 엔트로피 부호기가 부호화 모드들을 전환해야 할지의 여부를 엔트로피 부호기에 명시적으로 알려줌으로써) 실현된다.
도 1에는 종래의 비디오 부호기의 블록선도가 예시되어 있다. 좀더 구체적으로 기술하면, 도 1에는 참조번호 100에서 부호화될 이미지가 참조번호 102에서 픽셀 예측 처리되고 참조번호 103에서 예측 오차 부호화 처리되는 방식이 도시되어 있다. 참조번호 102에서의 픽셀 예측 처리에 대하여는, 참조번호 100에서 부호화될 이미지가 참조번호 106에서 인터-예측(inter-prediction) 처리될 수도 있고, 참조번호 108에서 인트라-예측(intra-prediction) 처리될 수도 있으며, 참조번호 106에서 인터-예측 처리되면서 참조번호 108에서 인트라-예측 처리될 수도 있다. 참조번호 110의 모드 선택부는 인터-예측 처리 및 인트라-예측 처리 중 어느 하나를 선택하여 참조번호 112의 예측 블록을 획득하게 해준다. 이어서, 참조번호 112의 예측 블록은 참조번호 100에서의 원래의 이미지로부터 감산되어 결과적으로는 참조번호 120에서 예측 잔차(prediction residual)로서 또한 알려져 있는 예측 오차가 생성된다. 참조번호 108에서의 인트라-예측 처리에서는, 프레임 메모리(114)에 저장되어 있는 참조번호 100에서와 같은 이미지의 사전에 재구성된 요소들이 현재 블록을 예측하는 데 사용된다. 참조번호 106에서의 인터-예측 처리에서는, 프레임 메모리(114)에 저장되어 있는 사전에 부호화된 이미지들이 현재 블록을 예측하는 데 사용된다. 참조번호 103에서의 예측 오차 부호화 처리에서는, 참조번호 120의 예측 오차/잔차가 처음에 참조번호 122에서 변환 처리된다. 그 결과로 얻어진 변환 계수들은 이후 참조번호 124에서 양자화된다.
참조번호 124에서 양자화된 변환 계수들은 참조번호 126에서 엔트로피 부호화된다. 즉, 참조번호 112의 이미지 블록의 예측 표현 및 예측 오차를 기술하는 데이터(예컨대, 움직임 벡터들, 모드 정보, 및 양자화된 변환 계수들)는 참조번호 126의 엔트로피 부호화 처리부로 전달된다. 부호기는 부호화된 이미지의 재구성된 버전을 국부적으로 획득하기 위해 참조번호 130의 역 변환 처리부 및 참조번호 128의 역 양자화 처리부를 포함하는 것이 전형적이다. 먼저, 양자화된 계수들은 참조번호 128에서 역 양자화된 다음에, 예측 오차의 부호화된 다음에 복호화된 버전을 획득하기 위해 참조번호 130에서 역 변환 처리된다. 그리하여 얻어진 결과는 이미지 블록의 부호화된 다음에 복호화된 버전을 획득하기 위해 참조번호 112에서의 예측에 추가된다. 재구성된 이미지 블록은 이어서, 기준 프레임 메모리(114)에 보내지는 참조번호 140의 재구성된 최종 이미지를 생성하기 위해 참조번호 116에서 필터링 처리화된다. 그러한 필터링 처리는, 이미지 블록들 모두가 처리되는 즉시 적용될 수 있다.
도 2에는 종래의 비디오 복호기의 블록선도가 예시되어 있다. 도 2에 도시된 바와 같이, 참조번호 200에서의 엔트로피 복호화 처리가 이루어진 다음에 참조번호 202에서의 예측 오차 복호화 처리 및 참조번호 204에서의 픽셀 예측 처리가 이루어진다. 참조번호 202에서의 예측 오차 복호화 처리에서는, 참조번호 206에서의 역 양자화 처리 및 참조번호 208에서의 역 변환 처리가 사용되고 궁극적으로는 참조번호 210의 재구성된 예측 오차 신호가 생성된다. 참조번호 204에서의 픽셀 예측 처리에서는, 참조번호 212에서 인트라-예측 처리 또는 인터-예측 처리가 이루어져서 참조번호 214의 이미지 블록의 예측 표현이 생성하게 된다. 참조번호 214에서의 이미지 블록의 예측 표현은 참조번호 210에서의 재구성된 예측 오차 신호와 함께 사용되어 참조번호 216의 재구성된 예비 이미지가 생성하게 되며, 이러한 재구성된 예비 이미지가 다시금 참조번호 212에서 인터-예측 처리 또는 인트라-예측 처리를 위해 사용될 수 있다. 참조번호 218에서의 필터링 처리는 각각의 블록이 재구성된 후에나 또는 이미지 블록들 모두가 처리되는 즉시 적용될 수 있다. 필터링된 이미지는 참조번호 220의 재구성된 최종 이미지로서 출력될 수도 있고 필터링된 이미지는 참조번호 212에서의 예측을 위해 사용될 수 있게 하기 위해 참조번호 222의 기준 프레임 메모리에 저장될 수 있다.
복호기는 (부호기에 의해 생성되고 압축 표현으로 저장된 움직임 또는 공간 정보를 사용하여) 픽셀 블록들의 예측 표현을 형성할 목적으로 부호기에 의해 사용된 것들과 유사한 예측 메커니즘들을 적용함으로써 출력 비디오를 재구성한다. 그 외에도, 복호기는 예측 오차 복호화(공간 픽셀 영역에서 양자화된 예측 오차 신호를 복구하는 예측 오차 부호화의 역 동작)를 이용한다. 예측 및 예측 오차 복호화 프로세스들을 적용한 후에, 복호기는 출력 비디오 프레임을 형성하기 위해 예측 및 예측 오차 신호들(즉, 픽셀 값들)을 계산(sum up)한다. 복호기(및 부호기)는 또한, 디스플레이를 위해 출력 비디오를 이용하기 전에 그리고/또는 비디오 시퀀스 내에 마련된 프레임들에 대해 출력 비디오를 예측 기준으로서 저장하기 전에 출력 비디오의 품질을 개선하기 위해 추가적인 필터링 프로세스들을 적용할 수 있다.
종래의 비디오 코덱들에서는, 움직임 정보가 각각의 움직임 보상 이미지 블록들에 연관된 움직임 벡터들로 표시된다. 이러한 움직임 벡터들 각각은 사전에 부호화된 화상 또는 사전에 복호화된 화상 중 하나를 이루는 예측 소스 블록에 대한 (부호기 측에서) 부호화되거나 (복호기 측에서) 복호화될 화상을 이루는 이미지 블록의 변위(displacement)를 나타낸다. 움직임 벡터들을 효율적으로 나타내기 위해, 움직임 벡터들은 블록에 따른 예측 움직임 벡터들에 대해 차별적으로 부호화되는 것이 전형적이다. 종래의 비디오 코덱에서는, 예측 움직임 벡터들이 예를 들면 인접 블록들의 부호화 또는 복호화된 움직임 벡터들의 중앙값(median)을 계산함으로써, 미리 정해진 방식으로 생성된다.
도 3에는 8x8 변환 계수 블록(300)이 예시되어 있다. 8x8 변환 계수들은 픽셀들 또는 예측 잔차들을 변환시킴으로써 획득된다. 도 3에는 8x8 변환 계수 블록(300)의 지그-재그 스캐닝이 예시되어 있다. 변환 계수들의 순서화는 (빈도가 가장 낮은 계수들을 갖는) 블록의 좌측 상단 코너에서 시작되고 (빈도가 가장 높은 계수들을 갖는) 블록의 우측 하부 코너에 이르기까지 예컨대 지그-재그 방식으로 속행된다. 이어서, 2-차원 계수 어레이는 1-차원 어레이를 형성하도록 (상기 지그-재그 패턴을 따라) 스캐닝될 수 있다. 이러한 계수들은 역순으로, 마지막으로부터 처음으로 부호화될 수 있으며, 마지막 계수는 0인 인덱스 값을 지닌다. 여기서 유념해야 할 점은 다른 변형 타입들, 변환 크기, 및/또는 스캐닝 순서가 계수들의 인터리빙(interleaving)과 함께 가능하다는 점이다. 지그-재그 스캐닝 다음에, 각각의 비-제로 계수는 (런, 레벨) 쌍으로 표시되는데, 이 경우에 런(run) 값은 연속 제로 값들의 개수를 나타내며 레벨(level) 값은 비-제로 계수 값을 나타낸다.
여러 실시예에 의하면, 부호화될 블록 내에는 적어도 하나의 비-제로 계수가 존재하는 것으로 가정된다. 계수들은 일반적으로 마지막으로부터 처음 계수 순서로 부호화되며, 이 경우에 빈도가 높은 계수들이 먼저 부호화된다. 그러나, 기타 순서의 부호화가 가능할 수도 있다. 만약 부호화 프로세스 중의 어느 한 시점에서 블록에 부호화될 계수들이 더 이상 존재하지 않는다면, 블록 종료 통지가 필요한 경우에 시그널링되며, 현재 블록에 대해 부호화가 중지된다.
한가지 엔트로피 부호화 방법은 2개의 상이한 모드들을 사용하여 변환 계수들을 적응적으로 부호화하는 것을 포함한다. "런(run)" 모드로서 언급되는 제1 모드에서는, 계수들이 (런,레벨) 쌍으로서 부호화된다. 다시 말하면, "런-레벨"은 제로들의 런-길이 다음에 비-제로 레벨이 나오게 하는 것을 말하며, 여기서 변환 계수들의 양자화는 상위 계수들이 제로(0)로 양자화되는 결과를 초래시킨다. 만약 다음 비-제로 계수가 1보다 큰 진폭을 지닌다면, 코덱은 "레벨(level)" 모드로 전환된다. 그러한 레벨 모드에서는, 나머지 계수들이 단일 값(single value)로서 하나씩 부호화되는데, 다시 말하면 런 값들이 이러한 모드에서 표시되지 않는다.
예를 들면, 8x8 블록의 양자화된 DCT 게수들은 다음과 같은 값들을 지닐 수 있다.
2 0 0 1 0 0 0 0
-2 1 0 0 0 0 0 0
0 0 0 -1 0 0 0 0
1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
양자화된 DCT 계수들은 도 3에 도시된 바와 같이 1-D 테이블로 순서화되며, 이로 인해 다음과 같은 계수 리스트가 생성된다.
2 0 -2 0 1 0 1 0 0 1 0 1 0 0 0 0 0 -1 0 ... 0
순서화된 계수들은 마지막 비-제로 계수로부터 시작하여 역순으로 부호화된다. 먼저, 마지막 비-제로 계수의 값(-1) 및 위치가 부호화된다. 그리고나서, 다음계수들이 런 모드에서 부호화되며, 이로 인해 다음과 같은 부호화된 (런,레벨) 쌍들의 시퀀스가 생성된다.
0 0 0 0 0 1 (런 = 5, 레벨 = 1)
0 1 (런 = 1, 레벨 = 1)
0 0 1 (런 = 2, 레벨 = 1)
0 1 (런 = 1, 레벨 = 1)
0 -2 (런 = 1, 레벨 = -2)
맨 마지막으로 부호화된 계수가 1보다 큰 진폭을 지니므로, 부호기는 레벨 모드로 전환된다. 이러한 레벨 모드에서는, 나머지 계수들(0 및 2)이 한번에 하나씩 부호화되며, 이후에는 블록의 부호화가 마무리된다.
그러한 부호화 스킴은 종종, 런 모드에서 속행하는 것이 유리할 수 있지만(예컨대, 런 모드에서 속행될 경우에 코덱에 의해 생성되는 비트들의 수가 적게 됨), 레벨 모드로의 전환을 초래시킨다. 이는 동일 개수들을 자체적으로 부호화하는 대신에 동일한 개수들의 런들에 대한 부호화 정보에 기반하여 런 부호화가 이루어지기 때문이다. 그러한 모드들 간의 전환은 고정 위치에서든 암시적으로 결정되지 않은 임의 시점에서든 이루어질 수 있다.
한 실시예에서는, 블록의 마지막 비-제로 계수의 값 및 위치가 부호화된다. 마지막 계수의 진폭이 1보다 큰 경우에는, 그 프로세스는 레벨 부호화로 진행된다. 그러하지 않은 경우에는, 다음 (런,레벨) 쌍이 부호화된다. 현재 레벨의 진폭이 1과 같은 경우에는, 부호화 프로세스는 이전 처리로 복귀되고 다음 쌍이 부호화된다. 마지막으로, 나머지 계수들이 레벨 모드에서 부호화된다.
도 4에는 위에 설명된 부호화 방법에서 가능한 것보다 높은 효율을 초래시키는 한 실시예에 따른 다른 전형적인 부호화 방법이 예시되어 있다. 참조번호 400에서는, 한 실시예에 따른 부호화 동작이 시작된다. 참조번호 410에서는, 블록의 마지막 비-제로 계수의 값 및 위치가 부호화된다. 여기서 유념해야 할 점은 이와 같이 특정된 블록의 마지막 비-제로 계수의 부호화는 런 부호화 모드 또는 레벨 부호화 모드 중 어느 하나에 따라 부호화되지 않는다는 점이다. 참조번호 420에서는, 부호화될 비-제로 계수들이 남아있는지의 여부가 결정된다. 더이상 부호화될 계수들이 존재하지 않는 경우에는, 참조번호 425에서 최종 (런) 또는 블록 종료가 부호화되고, 참조번호 480에서 상기 동작이 중지된다. 참조번호 430에서, 계수들이 더 존재하는 경우에는, 다음 계수, 예컨대 (런,레벨) 쌍이 부호화된다. 참조번호 440에서는, 현재 레벨의 진폭이 1과 같은지의 여부가 결정되며, 만약 현재 레벨의 진폭이 1과 같다면, 동작이 참조번호 420로 복귀하고 다음 쌍이 참조번호 430에서 부호화된다. 여기서 유념해야 할 점은 "1"과는 다른 최소 진폭 임계값이 참조번호 440 및 차후의 프로세스들에서 사용될 수 있다. 현재 레벨의 진폭이 1과 같지 않은 경우에는, 참조번호 450에서, (마지막 계수의 진폭을 배제한) 진폭들의 누적 합이 1보다 큰 진폭을 갖는 그러한 계수들에 대해 결정된다. 참조번호 460에서는, 1보다 큰 (마지막 계수를 배제한) 진폭들의 누적 합이 누적 임계 L(예컨대, 3)보다 작은 지의 여부 및 블록 내의 맨 마지막의 비-제로 계수의 위치가 K보다 작은지의 여부가 결정되고, 만약 1보다 큰 (마지막 계수를 배제한) 진폭들의 누적 합이 누적 임계 L(예컨대, 3)보다 작고 블록 내의 맨 마지막의 비-제로 계수의 위치가 K보다 작다면, 동작은 참조번호 420로 복귀하고 참조번호 430에서 다음 쌍을 부호화함으로써 자체적으로 반복된다. 참조번호 460에서 1보다 큰 (마지막 계수를 배제한) 진폭들의 누적 합이 누적 임계 L보다 작지 않고 그리고/또는 블록 내의 맨 마지막 비-제로 계수의 위치가 K보다 작지 않은 경우에는, 참조번호 470에서 나머지 계수들이 레벨 모드에서 부호화된다. 일단 부호될 계수들이 더 이상 남아 있지 않다면, 동작은 참조번호 480에서 중지된다. 여기서 유념해야 할 점은 참조번호 460에서의 (이전에 부호화된 비-제로 계수들의 진폭들의 누적 합이 최소 진폭 임계값보다 큰지 여부의) 결정이 2보다 큰 진폭을 지니는 현재 레벨에 의해 충족될 수 있다는 점이다. 그 외에도, 적어도 이전에 부호화된 비-제로 계수들 중 하나의 진폭 값에 대해 최대 발생 회수를 충족시킴으로써 그러한 결정이 충족될 수 있다. 예를 들면, 2개의 계수들이 발생되고 2개의 계수들 각각이 2와 같은 진폭을 지니고 있다면, 1보다 큰 (마지막 계수를 배제한) 진폭들의 결과적인 누적 합은 3인 누적 임계값을 초과하게 된다. 다시 말하면, 그리고 일반적으로는, 부호화 모드들 간의 전환은 진폭들의 누적 합 및 위치 또는 진폭들의 발생 및 위치에 기반하여 이루어질 수 있는데, 이 경우에 최대 발생 회수는 각각의 진폭 레벨에 대해 개별적으로 정의된다.
여러 실시예는 다수의 계수를 이용하여 런 및 레벨 부호화 모드들 간에 전환되어야 할지의 여부를 결정하는 것이다. 더군다나, 여러 실시예는 전환 기준의 일부로서 계수들의 위치를 고려하는 것이다. 여기서 유념해야 할 점은 3인 누적 임계 값이 경험적 실험들에 따라 선택된다는 점이다. 그러나, 다른 값들이 사용될 수 있는데, 이 경우에 예컨대 누적 임계 L은 양자화 매개변수(quantization parameter; QP) 값에 의존하여 변화하는 상이한 품질 레벨들의 통계치들을 반영하도록 설정된다. 마찬가지로, 위치 임계 K에 대한 값이 (예컨대 블록을 부호화하는데 사용된 QP, 블록 또는 화소의 부호화 모드에 기반하여) 수정될 수 있다. 더욱이, 비록 본원 명세서에서 설명된 2가지 모드들이 런 모드 및 레벨 모드이지만, 임의의 2가지 모드들이 사용될 수 있다.
위에서 설명된 바와 같이, 여러 실시예는 모드들이 전환되어야 할지의 여부를 표시하는 명시적인 신호에 기반하여, 예컨대 런 모드로부터 레벨 모드로 전환되어야 할 때를 적응적으로 결정할 수 있게 해 준다. 도 5에는 부호기가 런 모드에서 속행되어야 할지 레벨 모드로 전환되어야 할지를 나타내는 신택스 엘리먼트를 비트스트림으로 송신함으로써 전환 위치가 명시적으로 시그널링되는 다른 한 실시예에 따라 수행되는 프로세스들이 예시되어 있다. 참조번호 500에서는, 부호화 동작이 시작된다. 참조번호 510에서는 블록의 마지막 비-제로 계수의 값 및 위치가 부호화된다. 여기서 유념해야 할 점은 이와 같이 특정된 블록의 마지막 비-제로 계수가 런 부호화 모드 또는 레벨 부호화 모드 중 어느 하나에 따라 부호화되지 않는다는 점이다. 참조번호 520에서는, 부호화될 비-제로 계수들이 남아 있는지의 여부가 결정된다. 부호화될 계수들이 더 이상 존재하지 않는 경우에는, 참조번호 525에서 최종 (런) 또는 블록 종료가 부호화되고, 참조번호 570에서 동작이 중지된다. 참조번호 530에서, 계수들이 더 존재하는 경우에는, 다음 계수 그루핑, 예컨대 (런,레벨) 쌍이 부호화된다. 참조번호 540에서는, 현재 레벨의 진폭이 1과 같은지의 여부가 결정되고, 현재 레벨의 진폭이 1과 같은 경우에는, 동작이 참조번호 520으로 복귀되며 다음 쌍이 참조번호 530에서 부호화된다. "1"과는 다른 진폭 임계값이 참조번호 540 및 차후의 프로세스들에서 사용될 수 있다. 만약 현재 레벨의 진폭이 1과 같지 않다면, 참조번호 550에서는 현재 레벨의 진폭이 1보다 큰지의 여부가 결정된다. 만약 현재 레벨의 진폭이 1보다 크다면, 비트스트림에서는 부호기가 런 모드에서 속행되어야 할지 레벨 모드로 전환되어야 할지가 표시된다. 만약 런 모드가 표시된다면, 동작은 참조번호 530으로 복귀되며 다음 쌍이 부호화된다. 그러하지 않다면, 참조번호 560에서, 나머지 계수들이 레벨 모드에서 부호화된다. 일단 부호화될 계수들이 더 이상 남아 있지 않다면, 동작은 참조번호 570에서 중지된다.
여러 실시예에 따라 비트스트림 내에 전환 표시를 부호화하는 다른 방법들이 존재한다. 예를 들면, 비트스트림 내에 저장된 단일 비트로서 표시가 구현될 수 있다. 변형적으로는, 그 표시가 하나 이상의 다른 부호화 엘리먼트들과 결합될 수 있다.
본원 명세서에 기재된 여러 실시예는 한 부호화 모드로부터 다른 한 부호화 모드로의 전환이 이루어져야 하는 위치를 좀더 정확하게 정의함으로써 변환 계수의 부호화에 대한 이전의 해결방안들을 개선시켜 준다. 이는 또한 부호화 효율을 개선시켜 준다. 전환 위치의 시그널링은 어느 부분에서 부호화 모드들을 전환해야 할지를 부호기에 직접 통지해 줌으로써 명시적으로 부호화 효율을 더 향상시켜 준다.
도 6에는 여러 실시예가 구현될 수 있는 범용 멀티미디어 통신 시스템이 그래픽 방식으로 예시되어 있다. 도 6에 도시된 바와 같이, 데이터 소스(600)는 아날로그, 비압축된 디지털, 또는 압축된 디지털 포맷, 또는 이러한 포맷들의 임의 조합으로 소스 신호를 제공한다. 부호기(610)는 상기 소스 신호를 부호화하여 부호화된 미디어 비트스트림을 생성한다. 여기서 유념해야 할 점은 사실상 임의 타입의 네트워크 내에 위치해 있는 원격 기기로부터 복호화될 비트스트림이 직접 또는 간접적으로 수신될 수 있다는 점이다. 그 외에도, 상기 비트스트림이 국부 하드웨어 또는 소프트웨어로부터 수신될 수 있다. 부호기(610)는 오디오 및 비디오와 같은 2가지 이상의 미디어 타입을 부호화하는 것이 가능할 수도 있고, 2개 이상의 부호기(610)가 소스 신호의 상이한 미디어 타입들을 부호화하는데 필요할 수도 있다. 부호기(610)는 또한 그래픽 및 텍스트와 같은 합성 생성된 입력을 획득할 수도 있고, 부호기(610)는 합성 미디어의 부호화된 비트스트림들을 생성하는 것이 가능할 수도 있다. 이하에서는, 하나의 미디어 타입을 갖는 하나의 부호화된 미디어 스트림의 프로세싱만이 설명을 간략하게 하기 위해 고려되어 있다. 그러나, 여기서 유념해야 할 점은 전형적으로 실시간 브로드캐스트 서비스들이 여러 스트림(전형적으로는 적어도 하나의 오디오, 비디오 및 텍스트 '자막(subtitling)' 스트림)을 포함한다는 점이다. 또한 여기서 유념해야 할 점은 상기 시스템이 여러 부호기들을 포함할 수 있지만 도 6에서는 보편성을 추구하면서 설명을 간략하게 하기 위해 단지 하나의 부호기(610)가 나타나 있다는 점이다. 여기서 부가적으로 이해하여야 할 점은 본원 명세서에 포함된 내용 및 예들에 부호화 프로세스가 구체적으로 설명되어 있지만 당업자라면 동일한 개념들 및 원리들이 또한 대응하는 복호화 프로세스에 적용되며 그의 역도 성립함을 이해할 것이라는 점이다.
부호화된 미디어 스트림이 저장 장치(620)에 전송된다. 저장 장치(620)는 부호화된 미디어 비트스트림을 저장하기 위한 임의 타임의 대용량 메모리를 포함할 수 있다. 저장 장치(620) 내의 부호화된 미디어 비트스트림의 포맷은 독립된 기본 비트스트림 포맷일 수도 있고 하나 이상의 부호화된 미디어 비트스트림들이 콘테이너 파일 내에 캡슐화될 수 있다. 일부 시스템들은 "라이브(live)" 방식으로 동작하는데, 즉 저장 장치를 생략하고 부호기(610)로부터의 부호화된 미디어 비트스트림을 직접 송신기(630)에 전송한다. 이때, 부호화된 미디어 비트스트림은 필요에 따라 서버라고도 언급되는 송신기(630)에 전송된다. 전송에서 사용되는 포맷은 독립된 기본 비트스트림 포맷, 패킷 스트림 포맷일 수도 있고 하나 이상의 부호화된 미디어 비트스트림들이 콘테이너 파일 내에 캡슐화될 수도 있다. 부호기(610), 저장 장치(620), 및 서버(630)는 동일한 물리적 기기 내에 상주해 있을 수도 있고 부호기(610), 저장 장치(620), 및 서버(630)는 개별 기기들에 포함될 수도 있다. 부호기(610) 및 서버(630)가 라이브 방식의 실시간 콘텐츠로 동작할 수 있는데, 이 경우에는 부호화된 미디어 비트스트림이 영구적으로 저장되지 않고 오히려 처리 지연, 전송 지연, 및 부호화된 미디어 비트레이트의 변화들을 없애주도록 콘텐츠 부호기(610) 및/또는 서버(630)에서 단시간 동안 버퍼링되는 것이 전형적이다.
서버(630)는 통신 프로토콜 스택을 이용하여 부호화된 미디어 비트스트림을 송신한다. 그러한 스택은 실시간 통신 프로토콜(Real-Time Transport Protocol; RTP), 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP), 및 인터넷 프로토콜(Internet Protocol; IP)을 포함하지만, 이들에 국한되지 않는다. 통신 프로토콜 스택이 패킷 기반 형태일 경우에, 서버(630)는 부호화된 미디어 비트스트림을 패킷들로 캡슐화한다. 예를 들면, RTP가 사용될 경우에, 서버(630)는 RTP 패이로드 포맷에 따라 부호화된 미디어 스트림을 RTP 패킷들로 캡슐화한다. 전형적으로는, 각각의 미디어 타입은 전용 RTP 페이로드 포맷을 지닌다. 여기서 다시 유념해야 할 점은 시스템이 2개 이상의 서버(630)를 포함할 수 있지만, 간략화를 위해, 이하의 설명에서 단지 하나의 서버(630)만이 고려되어 있다는 점이다.
서버(630)는 통신 네트워크를 통해 게이트웨이(640)에 접속되어 있을 수도 있고 접속되어 있지 않을 수도 있다. 게이트웨이(640)는 하나의 통신 프로토콜 스택에 따른 패킷 스트림을 다른 통신 프로토콜 스택에 맞게 변환하는 것, 데이터 스트림들의 병합(merging) 및 분리(forking), 널리 알려진 다운링크 네트워크 상태들에 따라 포워드 스트림의 비트 레이트를 제어하는 것과 같은 다운링크 및/또는 수신기 능력들에 따른 데이터 스트림의 조작(manipulation)과 같은 상이한 타입의 기능들을 수행할 수 있다. 게이트웨이들(640)의 예들에는 MCU들, 회선 교환 및 패킷 교환 비디오 텔레포니 간의 게이트웨이들, 푸시 투 톡 오버 셀룰러(Push-to-talk over Cellular; PoC) 서버들, 디지털 비디오 브로트캐스팅-핸드헬드(digital video broadcasting-handheld; DVB-H) 시스템들, 또는 브로드캐스트 전송들을 국부적으로 홈 무선 네트워드들로 포워드하는 셋-톱 박스들이 있다. RTP가 사용될 경우에, 게이트웨이(640)는 RTP 믹서 또는 RTP 트랜슬레이터라고 지칭되며 RTP 접속의 엔드포인트로서 기능하는 것이 전형적이다.
상기 시스템은, 전형적으로 전송 신호를 수신, 복조 및 역캡슐화하여 부호화된 미디어 비트스트림을 생성하는 것이 가능한 하나 이상의 수신기들(650)을 포함한다. 부호화된 미디어 비트스트림은 기록 저장 장치(655)에 전송된다. 기록 저장 장치(655)는 부호화된 미디어 비트스트림을 저장하기 위한 임의 타입의 대용량 메모리를 포함할 수 있다. 기록 저장 장치(655)는 변형적으로나 추가적으로 랜덤 액세스 메모리와 같은 계산 메모리(computation memory)를 포함할 수 있다. 기록 저장 장치(655) 내의 부호화된 미디어 비트스트림의 포맷은 독립된 기본 비트스트림 포맷일 수도 있고, 하나 이상의 부호화된 미디어 비트스트림들이 콘테이너 파일 내에 캡슐화될 수도 있다. 서로 연관성이 있는 오디오 스트림 및 비디오 스트림과 같은 다수의 부호화된 미디어 스트림들이 존재하는 경우에는, 콘테이너 파일이 사용되는 것이 전형적이며 수신기(650)는 입력 스트림들로부터 콘테이너 파일을 생성하는 콘테이너 파일 생성기를 포함하거나 입력 스트림들로부터 콘테이너 파일을 생성하는 콘테이너 파일 생성기에 부착된다. 일부 시스템들은 "라이브" 방식으로 동작하는데, 즉 기록 저장 장치(655)를 생략하고 수신기(650)로부터의 부호화된 미디어 비트스트림을 직접 복호기(660)에 전송한다. 일부 시스템들에서는, 기록된 스트림 중 가장 최근 부분만, 예컨대, 기록된 스트리 중 가장 최근의 10-분 발췌(10-minute excerption)만이 기록 저장 장치(655)에 유지되지만, 이전에 기록된 임의 데이터는 기록 저장 장치(655)로부터 폐기된다.
부호화된 미디어 비트스트림은 기록 저장 장치(655)로부터 복호기(660)로 전송된다. 만약 서로 연관성이 있고 콘테이너 파일 내에 캡슐화되는, 오디오 스트림 및 비디오 스트림과 같은, 여러 부호화된 미디어 비트스트림이 존재한다면, (도면에는 도시되지 않은) 파일 파서(file parser)가 콘테이너 파일로부터 각각의 부호화된 미디어 비트스트림을 역캡슐화하는데 사용된다. 기록 저장 장치(655) 또는 복호기(660)는 파일 파서를 포함할 수 있고, 파일 파서는 기록 저장 장치(655) 또는 복호기(660) 중 어느 하나에 부착된다.
부호화된 미디어 비트스트림은 복호기(660)에 의해 부가적으로 처리되는 것이 전형적이며, 복호기(660)의 출력은 하나 이상의 비압축된 미디어 스트림들이다. 마지막으로, 렌더러(renderer; 670)는 예를 들면 라우드스피커 또는 디스플레이를 가지고 비압축된 미디어 스트림들을 재생할 수 있다. 수신기(650), 기록 저장 장치(655), 복호기(660), 및 렌더러(670)는 동일한 물리적 기기에 상주해 있을 수도 있고 개별 기기들에 포함되어 있을 수도 있다.
여러 실시예에 따른 송신기(630)는, 예컨대 수신기(650)의 요구들 또는 널리 알려진 네트워크 상태들에 응답하도록 하는, 여러 이유 때문에 전송 계층들을 선택하도록 구성될 수 있다. 수신기로부터의 요구는 예컨대 이전의 능력에 비해 다른 능력들을 지니는 렌더링 기기의 변경 또는 디스플레이를 위한 계층들의 변경에 대한 요구일 수 있다.
도 7 및 도 8은 본 발명이 구현될 수 있는 대표적인 하나의 전자 기기(12)를 보여주는 도면들이다. 그러나, 여기서 이해하여야 할 점은 본 발명이 특정한 한가지의 타입의 기기에 국한되는 것으로 의도된 것이 아니라는 점이다. 도 7 및 도 8의 전자 기기(12)는 하우징(30), 액정 디스플레이의 형태를 이루는 디스플레이(32), 키패드(34), 마이크로폰(36), 이어피스(38), 배터리(40), 적외선 포트(42), 안테나(44), 한 실시예에 따른 UICC의 형태를 이루는 스마트 카드(46), 카드 판독기(48), 무선 인터페이스 회로(52), 코덱 회로(54), 제어기(56) 및 메모리(58)를 포함한다. 개별 회로들 및 및 요소들은 모두 당업계에서 공지된 타입의 것들이다.
본원 명세서에 기재된 여러 실시예는, 한 실시예에서 네트워크 환경의 컴퓨터들에 의해 실행되는, 프로그램 코드와 같은 컴퓨터 실행가능 명령어들을 포함하는, 컴퓨터 판독가능 매체에 수록된 컴퓨터 프로그램 제품에 의해 구현될 수 있는 방법적인 단계들 또는 프로세스들의 일반적인 문맥으로 설명될 수 있다. 컴퓨터 판독가능 매체는 판독 전용 메모리(Read Only Memory; ROM), 랜덤 액세스 메모리(Random Access Memory; RAM), 콤팩트 디스크(compact disc; CD)들, 디지털 다기능 디스크(digital versatile disc; DVD)들 등등을 포함하지만, 이들에 국한되지 않는 착탈식 및 비-착탈식 저장 기기들을 포함할 수 있다. 일반적으로는, 특정의 태스크들을 수행하거나 특정의 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등등을 포함할 수 있다. 컴퓨터 실행가능 명령어들, 관련 데이터 구조들, 및 프로그램 모듈들은 본원 명세서에 개시된 방법들의 단계들을 실행하기 위한 프로그램 코드의 예들을 나타낸다. 그러한 실행가능 명령어들 또는 관련 데이터 구조들의 특정의 시퀀스는 그러한 단계들 또는 프로세스들에서 설명된 기능들을 구현하기 위한 해당 동작들의 예들을 나타낸다.
본 발명의 실시예들은 소프트웨어, 하드웨어, 애플리케이션 로직, 또는 소프트웨어, 하드웨어 및 애플리케이션 로직의 조합으로 구현될 수 있다. 상기 소프트웨어, 애플리케이션 로직 및/또는 하드웨어는 예를 들면 칩셋, 이동 기기, 데스크톱, 랩톱 또는 서버에 상주할 수 있다. 여러 실시예의 소프트웨어 및 웹 구현들은 여러 데이터베이스 탐색 단계 또는 프로세스, 상관 단계 또는 프로세스, 비교 단계 또는 프로세스 및 결정 단계 또는 프로세스를 달성하도록 규칙-기반 로직 및 다른 로직을 이용한 표준 프로그래밍 기법들로 달성될 수 있다. 여러 실시예는 또한 네트워크 요소들 또는 모듈들 내에서 완전하거나 부분적으로 구현될 수 있다. 여기서 유념해야 할 점은 본원 명세서에서 사용되고 이하의 청구범위에서 사용되는 용어들 "컴포넌트" 및 "모듈"은 소프트웨어 코드, 및/또는 하드웨어 구현들, 및/또는 수동 입력들을 수신하는 장비 중의 하나 이상의 라인들을 사용한 구현들을 포함하도록 의도된 것이라는 점이다.
앞서 언급된 예들에서 설명된 개별적이고 특정적인 구조들은 이하의 청구범위에서 기재되는 특정 기능들을 수행하기 위한 수단의 대표적인 구조를 이루는 것으로 이해되어야 하지만, 청구항들에서 한정된 것은, "수단"이라는 용어가 청구항들에서 사용되지 않은 경우에 "기능적인 수단(means plus function)"의 한정들을 이루는 것으로 해석되어선 안 된다. 그 외에도, 앞서 언급된 설명에서 사용된 "단계"라는 용어는 청구항들에서 임의의 특정 한정을 "기능적인 단계(step plus function)"의 한정을 이루는 것으로 해석하는데 사용되어선 안 된다. 특허 허여된 특허들, 특허출원들, 및 비-특허공보들을 포함하는, 개별 참증들이 본원 명세서에 설명되거나 달리 본원 명세서에 언급되어 있다는 점에서, 그러한 참증들이 이하의 청구항들의 범위를 한정하는 것으로 의도된 것이 아니며 또한 그러한 참증들이 이하의 청구항들의 범위를 한정하는 것으로 해석되어서도 안 된다.
앞서 언급된 실시예들의 설명은 예시 및 설명을 목적으로 제공된 것이다. 앞서 언급된 설명은 개시된 정확한 형태로 본 발명의 실시예들을 한정하거나 검토하도록 의도된 것이 아니며, 위의 교시들에 비추어 볼 때 변형 및 수정예들이 가능할 수도 있고 여러 실시예의 실시로부터 변형 및 수정예들이 도출될 수도 있다. 본원 명세서에서 논의된 실시예들은 당업자가 여러 실시예를 통해 그리고 고려된 특정 용도에 적합한 여러 변형을 통해 본 발명을 활용할 수 있게 하도록 여러 실시예의 원리들 및 본질 그리고 그의 실제 적용예를 설명하기 위해 선택되어 기재된 것이다. 본원 명세서에 기재된 실시예들의 특징들은 방법들, 장치, 모듈들, 시스템들, 및 컴퓨터 프로그램 제품들의 모든 가능한 조합들로 결합가능하다.

Claims (22)

  1. 블록의 마지막 비-제로 계수의 값 및 위치를 부호화하는 것;
    적어도 하나의 계수의 진폭이 임계값보다 작거나 임계값과 동일한 경우에 제1 부호화 모드에 따라 상기 적어도 하나의 계수를 부호화하는 것; 및
    상기 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합을 결정하는 것;
    을 포함하는, 방법으로서,
    상기 누적 합이 누적 임계값보다 작고 맨 마지막 비-제로 계수의 위치가 위치 임계값보다 작은 경우에,
    상기 제1 부호화 모드에 따라 후속 계수를 부호화하는 것;
    을 포함하고,
    상기 누적 합이 누적 임계값보다 작지 않고 맨 마지막 비-제로 계수의 위치가 위치 임계값보다 작지 않은 경우에,
    제2 부호화 모드에 따라 후속 계수를 부호화하는 것;
    을 포함하는, 방법.
  2. 제1항에 있어서, 상기 제1 부호화 모드는, 상기 적어도 하나의 계수를 그룹들로 부호화하도록 구성된 런(run) 부호화 모드를 포함하고, 상기 그룹들은 런 및 레벨(level) 쌍들을 포함하는, 방법.
  3. 제1항에 있어서, 상기 제2 부호화 모드는 한번에 하나씩 계수들을 부호화하도록 구성된 레벨 부호화 모드를 포함하는, 방법.
  4. 제1항에 있어서, 상기 누적 임계값은 상기 블록을 부호화하는데 사용되는 양자화 매개변수에 적어도 의존하는, 방법.
  5. 제1항에 있어서, 상기 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합은, 적어도 최대 발생 임계값이 상기 이전에 부호화된 비-제로 계수들 중 하나의 허용가능한 임의 진폭 값에 대해 충족되는 경우에, 상기 누적 임계값보다 큰 것인, 방법.
  6. 컴퓨터 프로그램이 저장된 컴퓨터-판독가능 매체로서, 상기 컴퓨터 프로그램은 프로세서로 하여금 제1항 내지 제5항의 방법 중 어느 하나를 수행하게 하도록 동작가능한 명령어들을 포함하는, 컴퓨터-판독가능 매체.
  7. 프로세서;를 포함하는, 장치로서,
    상기 프로세서는,
    블록의 마지막 비-제로 계수의 값 및 위치를 부호화하도록 구성되고;
    적어도 하나의 계수의 진폭이 임계값보다 작거나 임계값과 동일한 경우에 제1 부호화 모드에 따라 상기 적어도 하나의 계수를 부호화하도록 구성되며; 그리고
    상기 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합을 결정하도록 구성되고,
    상기 누적 합이 누적 임계값보다 작고 맨 마지막 비-제로 계수의 위치가 위치 임계값보다 작은 경우에,
    상기 프로세서는,
    상기 제1 부호화 모드에 따라 후속 계수를 부호화하도록 구성되며,
    상기 누적 합이 누적 임계값보다 작지 않고 맨 마지막 비-제로 계수의 위치가 위치 임계값보다 작지 않은 경우에,
    상기 프로세서는,
    제2 부호화 모드에 따라 후속 계수를 부호화하도록 구성되는, 장치.
  8. 제7항에 있어서, 상기 제1 부호화 모드는, 상기 적어도 하나의 계수를 그룹들로 부호화하도록 구성된 런(run) 부호화 모드를 포함하고, 상기 그룹들은 런 및 레벨(level) 쌍들을 포함하는, 장치.
  9. 제7항에 있어서, 상기 제2 부호화 모드는 한번에 하나씩 계수들을 부호화하도록 구성된 레벨 부호화 모드를 포함하는, 장치.
  10. 제7항에 있어서, 상기 누적 임계값은 상기 블록을 부호화하는데 사용되는 양자화 매개변수에 적어도 의존하는, 장치.
  11. 제7항에 있어서, 상기 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합은, 적어도 최대 발생 임계값이 상기 이전에 부호화된 비-제로 계수들 중 하나의 허용가능한 임의 진폭 값에 대해 충족되는 경우에, 상기 누적 임계값보다 큰 것인, 장치.
  12. 부호화된 비트스트림에서 블록의 마지막 비-제로 계수의 값 및 위치를 복호화하는 것;
    제1 부호화 모드 및 제2 부호화 모드 중 적어도 하나에 따라 상기 부호화된 비트스트림으로부터 적어도 하나의 양자화된 변환 계수를 복호화하는 것;
    을 포함하는, 방법으로서,
    상기 복호화는,
    a. 상기 제1 부호화 모드에 따라 부호화된 양자화 계수 그룹 - 임계값보다 큰 이전에 부호화된 비-제로 계수들의 누적 합이 누적 임계값보다 작고 맨 마지막 비-제로 계수의 위치가 위치 임계값보다 작은 것임; 그리고
    b. 상기 제2 부호화 모드에 따라 부호화된 양자화 계수 - 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합 중 하나가 누적 임계값과 동일하거나 누적 임계값보다 크며, 맨 마지막 비-제로 계수의 위치가 위치 임계값과 동일하거나 위치 임계값보다 큰 것임;
    중 하나를 초래하는, 방법.
  13. 제12항에 있어서, 상기 제1 부호화 모드는, 계수들을 그룹들로 부호화하도록 구성된 런(run) 부호화 모드를 포함하고, 상기 그룹들은 런 및 레벨(level) 쌍들을 포함하는, 방법.
  14. 제12항에 있어서, 상기 제2 부호화 모드는 한번에 하나씩 계수들을 부호화하도록 구성된 레벨 부호화 모드를 포함하는, 방법.
  15. 제12항에 있어서, 상기 누적 임계값은 상기 블록을 부호화하는데 사용되는 양자화 매개변수에 의존하는, 방법.
  16. 제12항에 있어서, 상기 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합은, 적어도 최대 발생 임계값이 상기 이전에 부호화된 비-제로 계수들 중 하나의 허용가능한 임의 진폭 값에 대해 충족되는 경우에, 상기 누적 임계값보다 큰 것인, 방법.
  17. 컴퓨터 프로그램이 저장된 컴퓨터-판독가능 매체로서, 상기 컴퓨터 프로그램은 프로세서로 하여금 제12항 내지 제16항의 방법 중 어느 하나를 수행하게 하도록 동작가능한 명령어들을 포함하는, 컴퓨터-판독가능 매체.
  18. 프로세서;를 포함하는, 장치로서,
    상기 프로세서는,
    부호화된 비트스트림에서 블록의 마지막 비-제로 계수의 값 및 위치를 복호화하도록 구성되며;
    제1 부호화 모드 및 제2 부호화 모드 중 적어도 하나에 따라 상기 부호화된 비트스트림으로부터 적어도 하나의 양자화된 변환 계수를 복호화하도록 구성되고,
    상기 복호화는,
    a. 상기 제1 부호화 모드에 따라 부호화된 양자화 계수 그룹 - 임계값보다 큰 이전에 부호화된 비-제로 계수들의 누적 합이 누적 임계값보다 작고 맨 마지막 비-제로 계수의 위치가 위치 임계값보다 작은 것임; 그리고
    b. 상기 제2 부호화 모드에 따라 부호화된 양자화 계수 - 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합 중 하나가 누적 임계값과 동일하거나 누적 임계값보다 크며, 맨 마지막 비-제로 계수의 위치가 위치 임계값과 동일하거나 위치 임계값보다 큰 것임;
    중 하나를 초래하는, 장치.
  19. 제18항에 있어서, 상기 제1 부호화 모드는, 계수들을 그룹들로 부호화하도록 구성된 런(run) 부호화 모드를 포함하고, 상기 그룹들은 런 및 레벨(level) 쌍들을 포함하는, 장치.
  20. 제18항에 있어서, 상기 제2 부호화 모드는 한번에 하나씩 계수들을 부호화하도록 구성된 레벨 부호화 모드를 포함하는, 장치.
  21. 제18항에 있어서, 상기 누적 임계값은 상기 블록을 부호화하는데 사용되는 양자화 매개변수에 의존하는, 장치.
  22. 제18항에 있어서, 상기 임계값보다 큰 이전에 부호화된 비-제로 계수들의 진폭들의 누적 합은, 적어도 최대 발생 임계값이 상기 이전에 부호화된 비-제로 계수들 중 하나의 허용가능한 임의 진폭 값에 대해 충족되는 경우에, 상기 누적 임계값보다 큰 것인, 장치.
KR1020117015332A 2008-12-03 2009-11-23 Dct 계수 부호화 모드들 간의 전환 KR101196792B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11969608P 2008-12-03 2008-12-03
US61/119,696 2008-12-03
PCT/FI2009/050945 WO2010063883A1 (en) 2008-12-03 2009-11-23 Switching between dct coefficient coding modes

Publications (2)

Publication Number Publication Date
KR20110100256A true KR20110100256A (ko) 2011-09-09
KR101196792B1 KR101196792B1 (ko) 2012-11-05

Family

ID=42232920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117015332A KR101196792B1 (ko) 2008-12-03 2009-11-23 Dct 계수 부호화 모드들 간의 전환

Country Status (12)

Country Link
US (1) US20100150226A1 (ko)
EP (1) EP2371066A4 (ko)
KR (1) KR101196792B1 (ko)
CN (1) CN102273080A (ko)
AU (1) AU2009324014A1 (ko)
BR (1) BRPI0922846A2 (ko)
CA (1) CA2745314A1 (ko)
MX (1) MX2011005749A (ko)
RU (1) RU2487473C2 (ko)
SG (1) SG171883A1 (ko)
TW (1) TW201028014A (ko)
WO (1) WO2010063883A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729899B (zh) * 2009-11-02 2014-03-26 北京中星微电子有限公司 离散余弦变换系数的编码方法和装置
KR101483179B1 (ko) * 2010-10-06 2015-01-19 에스케이 텔레콤주식회사 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10499059B2 (en) 2011-03-08 2019-12-03 Velos Media, Llc Coding of transform coefficients for video coding
JP6051156B2 (ja) * 2011-04-27 2016-12-27 シャープ株式会社 画像復号装置および画像符号化装置
US20120309321A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Synchronized calibration for wireless communication devices
US9491491B2 (en) 2011-06-03 2016-11-08 Qualcomm Incorporated Run-mode based coefficient coding for video coding
CN107529709B (zh) 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US20130003859A1 (en) * 2011-06-30 2013-01-03 Qualcomm Incorporated Transition between run and level coding modes
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
UA114674C2 (uk) 2011-07-15 2017-07-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Ініціалізація контексту в ентропійному кодуванні
CN103814396B (zh) 2011-07-18 2017-03-08 汤姆逊许可公司 编解码比特流的方法和装置
FR2982446A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
DK2805419T3 (en) * 2012-01-20 2017-09-04 Ge Video Compression Llc Transformation coefficient coding and decoding
CN103313048B (zh) * 2012-03-14 2017-12-22 中兴通讯股份有限公司 自适应控制算术编码上下文编码模式bin数量的方法
US8891888B2 (en) 2012-09-05 2014-11-18 Google Inc. Entropy coding for recompression of images
EP2946553B1 (en) * 2013-01-16 2019-01-02 BlackBerry Limited Transform coefficient coding for context-adaptive binary entropy coding of video
CN103731155A (zh) * 2013-12-31 2014-04-16 成都华日通讯技术有限公司 无线电频谱信号的时域压缩方法
CN104902207B (zh) * 2015-06-17 2018-03-30 四川特伦特科技股份有限公司 一种高速信号采集方法
US10171810B2 (en) * 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
KR102287305B1 (ko) * 2017-01-03 2021-08-06 엘지전자 주식회사 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2020062125A1 (zh) * 2018-09-29 2020-04-02 富士通株式会社 图像编码方法、装置以及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3089941B2 (ja) * 1994-02-28 2000-09-18 日本ビクター株式会社 画像間予測符号化装置
JP4260908B2 (ja) * 1997-06-25 2009-04-30 株式会社日本デジタル研究所 ランレングス符号化方法および画像処理装置
CA2316950C (en) * 1998-11-04 2004-06-08 Mitsubishi Denki Kabushiki Kaisha Image encoder and image decoder limiting encoded data with respect to frequency domains
US6223162B1 (en) * 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US7203373B2 (en) 2001-10-30 2007-04-10 Texas Instruments Incorporated Image and video coding with redundant run-length-level-last codewords removed
EP3099067B1 (en) * 2001-11-22 2019-06-05 Godo Kaisha IP Bridge 1 Variable length coding method and variable length decoding method
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
US7596279B2 (en) * 2002-04-26 2009-09-29 Ntt Docomo, Inc. Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program
DK2282310T3 (da) * 2002-09-04 2012-02-20 Microsoft Corp Entropi-kodning ved tilpasning af kodning mellem niveau- og runlængde /niveau-moduser
KR100703283B1 (ko) * 2004-03-15 2007-04-03 삼성전자주식회사 회전 매칭을 통해 움직임을 예측하는 영상 부호화 장치 및방법
US20050232497A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
US7366238B2 (en) * 2004-05-07 2008-04-29 Micronas Usa, Inc. Noise filter for video processing
US7454076B2 (en) 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7499595B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
CN100403801C (zh) * 2005-09-23 2008-07-16 联合信源数字音视频技术(北京)有限公司 一种基于上下文的自适应熵编/解码方法
US20080002770A1 (en) * 2006-06-30 2008-01-03 Nokia Corporation Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices
US7949195B2 (en) * 2007-01-16 2011-05-24 Cisco Technology, Inc. Per block breakpoint determining for hybrid variable length coding

Also Published As

Publication number Publication date
RU2011126942A (ru) 2013-01-10
MX2011005749A (es) 2011-06-20
CA2745314A1 (en) 2010-06-10
EP2371066A4 (en) 2014-06-04
KR101196792B1 (ko) 2012-11-05
BRPI0922846A2 (pt) 2018-01-30
AU2009324014A1 (en) 2011-06-23
RU2487473C2 (ru) 2013-07-10
WO2010063883A1 (en) 2010-06-10
US20100150226A1 (en) 2010-06-17
CN102273080A (zh) 2011-12-07
TW201028014A (en) 2010-07-16
SG171883A1 (en) 2011-07-28
EP2371066A1 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
KR101196792B1 (ko) Dct 계수 부호화 모드들 간의 전환
US11425408B2 (en) Combined motion vector and reference index prediction for video coding
CN111869212B (zh) 视频解码方法、装置和可读介质
JP6998888B2 (ja) イントラ予測モードのネイバーベースのシグナリング
KR101083051B1 (ko) 비디오 부호화 및 복호화를 위한 시스템 및 방법
EP1649697B1 (en) Intra coding video data apparatuses
US7586425B2 (en) Scalable video coding and decoding
JP5890031B2 (ja) ビデオコーディング用の断片化されたパラメータセット
US10291934B2 (en) Modified HEVC transform tree syntax
KR20070006445A (ko) 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
US8254450B2 (en) System and method for providing improved intra-prediction in video coding
US20220046253A1 (en) Video encoding and decoding methods and apparatuses, device, and storage medium
CN113475067A (zh) 视频编解码方法及装置
WO2011148887A1 (ja) 動画像配信システム、動画像送信装置、動画像配信方法および動画像配信プログラム
JP2023542332A (ja) 倍率を有するdnnに基づくクロスコンポーネント予測のためのコンテンツ適応型オンライントレーニング
EP1750452B1 (en) Apparatus for intra coding video data
WO2014092434A2 (ko) 비디오 부호화 방법 및 비디오 복호화 방법과 이를 이용하는 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee