KR101739603B1 - 2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법 및 장치 - Google Patents

2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법 및 장치 Download PDF

Info

Publication number
KR101739603B1
KR101739603B1 KR1020127004232A KR20127004232A KR101739603B1 KR 101739603 B1 KR101739603 B1 KR 101739603B1 KR 1020127004232 A KR1020127004232 A KR 1020127004232A KR 20127004232 A KR20127004232 A KR 20127004232A KR 101739603 B1 KR101739603 B1 KR 101739603B1
Authority
KR
South Korea
Prior art keywords
subtree
tree
binary
reusing
sets
Prior art date
Application number
KR1020127004232A
Other languages
English (en)
Other versions
KR20120065327A (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 KR20120065327A publication Critical patent/KR20120065327A/ko
Application granted granted Critical
Publication of KR101739603B1 publication Critical patent/KR101739603B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

2진 세트들을 인코딩하고 디코딩하기 위해 트리 구조들을 재이용하기 위한 방법들 및 장치가 제공된다. 본 방법은 트리 구조를 이용하여 데이터의 2진 세트를 인코딩하는데, 상기 인코딩 단계는 트리 구조의 부분을 이용하여 2진 세트의 부분을 인코딩하고, 2진 세트의 부분을 인코딩하는 데에 이용된 트리 구조의 부분의 적어도 일부를 재이용함으로써 2진 세트의 또 다른 부분을 인코딩한다(1225, 1230).

Description

2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법 및 장치{METHOD AND APPARATUS FOR REUSING TREE STRUCTURES TO ENCODE AND DECODE BINARY SETS}
[관련된 출원들에 대한 교차 참조]
본 출원은, 여기서 그것의 전부를 참조로서 통합하는 2009년 8월 20일에 출원된 미국 임시 출원 일련번호 제61/235,442호(대리인 문서 번호 제PU090109호)의 이익을 주장한다.
[기술분야]
본 원리들은 일반적으로 비디오 인코딩 및 디코딩에 관련하고, 더 상세하게는 2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법들 및 장치에 관련한다.
블록 기초의 이산 변환(block-based discrete transform)은, 예를 들어 JPEG(Joint Photographic Experts Group), ITU-T(International Telecommunication Union, Telecommunication Sector) H.263 권장(이하 "H.263 권장"이라고 함), ISO/IEC(International Organization for Standardization/International Electrotechnical Commission(ISO/IEC) MPEG-1(Moving Picture Experts Group-1) 표준, ISO/IEC MPEG-2 표준, ISO/IEC MPEG-4 부분 10 AVC(Advanced Video Coding) 표준/ITU-T H.264 권장(이하 "MPEG-4 AVC 표준"이라고 함)뿐만 아니라 다른 것들을 포함하는 많은 이미지 및 비디오 압축 표준의 근본적인 구성요소이고, 넓은 범위의 응용들에서 이용된다. 대부분의 최신 비디오 코딩 표준은 공간 도메인에서의 나머지의 상관을 효율적으로 줄이기 위해 변환들을 채택한다. DCT(discrete cosine transform)은 가장 광범위하게 이용되는 블록 변환이다.
변환 후에, 변환 계수들이 인코딩된다. 변환 계수들을 인코딩하는 일반적인 방법은 두 단계를 수반한다. 제1 단계에서, 0이 아닌 계수들의 위치가 인코딩된다. 제2 단계에서, 0이 아닌 계수들의 레벨 및 부호가 인코딩된다. 제1 단계에 관하여, 위치를 인코딩하는 효율적인 방법은 트리 구조들을 이용하는 것을 수반한다. 그러나, 각각의 트리는 이것의 노드들 및 잎들(leaves)에 대한 확률들을 저장하고 갱신하는 것을 요한다. 비디오 코딩 기술들은 예측 및 변환 사이즈들을 증가시킴으로써 성능을 향상시키고 있다. 이러한 더 큰 사이즈들은 트리 구조들의 요구사항들에 영향을 준다.
변환 처리 후에, 변환 계수들은 양자화된다. 그 후, 양자화된 계수들은 이들의 레벨 및 부호의 정보를 나르도록 엔트로피 인코딩된다. 0인 계수들의 백분율은 매우 높아서, 인코딩 처리는 앞서 기술된 바와 같이 두 단계로 나누는 경우에 효율적이다.
계수들의 위치를 보내는 것은, 비디오 콘텐츠 데이터가 변하는 통계치 및 성질들을 갖기 때문이고 또한 변환 계수들의 각각의 중요도들이 각각의 계수들의 위치들에 의존하여 다른 성질들을 갖기 때문에 여전히 비용이 많이 들 수 있다. 중요도의 트리 기초의 인코딩은 양호하게 작동하지만, 인코딩 및 디코딩 처리 동안에 추적될 필요가 있는 확률들의 양을 증가시킬 수 있다.
예를 들어, 사이즈 16×16의 변환들은 256개의 계수들을 갖는다. 만약 이진 트리가 중요도 맵을 인코딩하도록 채택된다면, 이 트리는 255개의 내부 노드와 256개의 잎을 갖는다. 산술 부호화기를 이용하는 전형적인 구현에서, 트리의 인코딩은 각각의 내부 노드에 대해 두 개의 확률, 즉, 인코더 및 디코더에 의해 갱신되어야 할 510개의 확률들을 수반한다. 이 확률들의 수는 상당히 높고, 또한, 가장 높은 비디오 해상도를 위해 사이즈 32×32 및 64×64의 더 큰 변환들이 이용된다는 것을 고려하면 한층 더 높을 것이다.
[발명의 요약]
종래 기술의 이러한 그리고 다른 약점들 및 불이익들이, 2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법들 및 장치들에 관한 본 원리들에 의해 다루어진다.
본 원리들의 국면에 따르면, 장치가 제공된다. 장치는 트리 구조를 이용하여 데이터의 2진 세트를 인코딩하기 위한 인코더를 포함한다. 인코더는 트리 구조의 부분을 이용하여 2진 세트의 부분을 인코딩하고, 2진 세트의 부분을 인코딩하기 위해 이용된 트리 구조의 부분의 적어도 일부를 재이용함으로써 2진 세트의 또 다른 부분을 인코딩한다.
본 원리들의 다른 국면에 따르면, 비디오 인코더에서의 방법이 제공된다. 방법은 트리 구조를 이용하여 데이터의 2진 세트를 인코딩하는 단계를 포함한다. 인코딩하는 단계는 트리 구조의 부분을 이용하여 2진 세트의 부분을 인코딩하고, 2진 세트의 부분을 인코딩하기 위해 이용된 트리 구조의 부분의 적어도 일부를 재이용함으로써 2진 세트의 또 다른 부분을 인코딩한다.
본 원리들의 또 다른 국면에 따르면, 장치가 제공된다. 장치는 트리 구조를 이용하여 데이터의 2진 세트를 디코딩하는 디코더를 포함한다. 디코더는 트리 구조의 부분을 이용하여 2진 세트의 부분을 디코딩하고, 2진 세트의 부분을 디코딩하기 위해 이용되는 트리 구조의 부분의 적어도 일부를 재이용함으로써 2진 세트의 또 다른 부분을 디코딩한다.
본 원리들의 추가의 국면에 따르면, 비디오 디코더에서의 방법이 제공된다. 방법은 트리 구조를 이용하여 데이터의 2진 세트를 디코딩하는 단계를 포함한다. 디코딩 단계는 트리 구조의 부분을 이용하여 2진 세트의 부분을 디코딩하고, 2진 세트의 부분을 디코딩하기 위해 이용되는 트리 구조의 부분의 적어도 일부를 재이용함으로써 2진 세트의 또 다른 부분을 디코딩한다.
본 원리들의 이러한 및 다른 측면들, 특징들, 및 이점들이, 수반하는 도면들과 관련하여 읽혀질 이하의 예시적 실시예들의 상세한 설명으로부터 명백해질 것이다.
본 원리들은 이하의 예시적 도면들에 따라 더 잘 이해될 수 있다.
도 1은 본 원리들의 실시예에 따라 본 원리들이 적용될 수 있는 예시적 비디오 인코더를 도시하는 블록도이다.
도 2는 본 원리들의 실시예에 따라 본 원리들이 적용될 수 있는 예시적 비디오 디코더를 도시하는 블록도이다.
도 3은 본 원리들의 실시예에 따라 본 원리들이 적용될 수 있는 예시적 트리 구조를 도시하는 도면이다.
도 4는 본 원리들의 실시예에 따라 본 원리들이 적용될 수 있는 예시적 2진 트리를 도시하는 도면이다.
도 5는 2진 트리의 잎들에의 2진 세트의 예시적인 매핑을 도시하는 도면이다.
도 6은 2진 0 트리를 이용하는 2진 세트의 예시적인 인코딩을 도시하는 도면이다.
도 7은 1 디멘션(1D) 2진 세트에의 2 디멘션(2D) 계수들의 예시적인 매핑을 도시하는 도면이다.
도 8은 본 원리들의 실시예에 따라 동일한 트리를 공유할 수 있는 도 7의 예시적인 매핑의 부분들을 도시하는 도면이다.
도 9는 본 원리들의 실시예에 따라 동일한 트리 구조 및 확률들을 공유할 수 있는 도 7의 예시적인 매핑의 다른 부분들을 도시하는 도면이다.
도 10은 본 원리들의 실시예에 따라 예시적인 반복적인 2진 트리를 도시하는 도면이다.
도 11은 본 원리들의 실시예에 따라 2진 세트들에 대한 더 큰 트리를 생성하기 위한 더 작은 트리들의 예시적인 재이용을 도시하는 도면이다.
도 12는 본 원리들의 실시예에 따라 2진 세트를 인코딩하기 위해 트리 구조들을 재이용하는 예시적인 방법을 도시하는 흐름도.
도 13은 본 원리들의 실시예에 따라 2진 세트를 디코딩하기 위해 트리 구조들을 재이용하는 예시적인 방법을 도시하는 흐름도.
도 14는 본 원리들의 실시예에 따라 2진 세트를 인코딩하기 위해 트리 구조들을 재이용하는 다른 예시적 방법을 도시하는 흐름도.
도 15는 본 원리들의 실시예에 따라 2진 세트를 디코딩하기 위해 트리 구조들을 재이용하는 다른 예시적 방법을 도시하는 흐름도.
도 16은 본 원리들의 실시예에 따라 2진 세트를 인코딩하기 위해 트리 구조들을 재이용하는 또 다른 예시적 방법을 도시하는 흐름도.
도 17은 본 원리들의 실시예에 따라 2진 세트를 디코딩하기 위해 트리 구조들을 재이용하는 또 다른 예시적 방법을 도시하는 흐름도.
도 18은 본 원리들의 실시예에 따라 2진 세트를 인코딩하기 위해 트리 구조들을 재이용하는 또 다른 예시적 방법을 도시하는 흐름도.
도 19는 본 원리들의 실시예에 따라 2진 세트를 디코딩하기 위해 트리 구조들을 재이용하는 또 다른 예시적 방법을 도시하는 흐름도.
본 원리들은 2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법들 및 장치들에 관한 것이다. 본 원리들은 임의의 유형의 기초적인(underlying) 데이터와 관련하는 2진 세트들에 적용될 수 있다는 것이 이해될 것이다. 따라서, 2진 세트가 적용될 수 있고 본 원리들에 따라 활용될 수 있는 몇몇의 예시적인 유형의 데이터는 이미지들, 비디오, 음향들(예를 들어, 목소리, 음악, 소리들 등) 등등을 포함하지만 이에 제약되지 않는다. 앞의 리스트는, 2진 세트가 나타낼 수 있는, 및 본 원리들에 따라 활용될 수 있는 데이터의 유형들을 단지 설명한 것이고 남김없이 제시한 것은 전혀 아니라는 것을 강조한다. 더욱이, 여기서 제공된 본 원리들의 교시사항들이 주어지면, 본 분야 및 관련 분야의 당업자는, 본 원리들의 사상을 유지하면서 본 원리들이 적용될 수 있는 이러한 및 다른 응용들 및 데이터 유형들을 생각할 것이라고 추가로 이해된다.
본 기술은 본 원리들을 설명한다. 그에 따라, 당업자가, 비록 여기서 명시적으로 기술되거나 도시되지 않았더라도 본 원리들을 구현할 수 있고 이것의 사상 및 범위 내에 포함되는 여러 배열을 고안할 수 있을 것이라고 이해된다.
여기서 언급되는 모든 예시들 및 조건적 어휘는, 기술분야를 진보시키는 데에 발명자(들)가 공헌한 본 원리들 및 개념들을 이해하는 것에 있어서 독자를 돕기 위한 교육적 목적들을 위해 의도되고, 또한 그러한 특별히 언급된 예시들 및 조건들에 제약되지 않는 것으로 해석되어야 할 것이다.
더욱이, 원리들, 측면들, 및 본 원리들의 실시예들뿐만 아니라 이것의 특정한 예시들을 언급하는 여기서의 모든 진술들은 이것의 구조적 및 기능적 균등물들 모두를 포괄하도록 의도된다. 또한, 그러한 균등물들은 현재 알려진 균등물들뿐만 아니라 미래에 개발되는 균등물들, 즉 구조와 무관하게 동일한 기능을 수행하는 개발되는 임의의 요소들 모두를 포함한다고 의도된다.
따라서, 예를 들어, 여기서 제시된 블록도들은 본 원리들을 구현하는 설명적 회로의 개념적 뷰들(views)을 나타낸다는 것을 당업자들은 이해할 것이다. 유사하게, 어떤 흐름도들, 흐름 도면들, 상태전이도들(state transition diagrams), 의사코드(pseudocode), 및 이와 유사한 것들은, 컴퓨터 판독가능 매체에서 실질적으로 나타내어질 수 있고, 따라서 컴퓨터 또는 프로세서가 명시적으로 도시되는지 아니든지 간에, 그러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 여러 프로세스를 나타낸다고 이해될 것이다.
도면들에 도시된 여러 요소들의 기능들은, 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통해 제공될 수 있다. 프로세서에 의해 제공되는 경우에, 기능들은 단일 전용 프로세서에 의해, 단일 공용 프로세서에 의해, 또는 일부가 공용될 수 있는 복수의 개별적인 프로세서에 의해 제공될 수 있다. 더욱이, 용어 "프로세서" 또는 "제어기"의 명시적인 이용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 언급하는 것으로 해석되어서는 안 되고, 제약하지 않으면서 DSP(digital signal processor) 하드웨어, 소프트웨어를 저장하는 ROM, RAM, 비휘발성 저장소를 내재적으로 포함한다.
전통적인 및/또는 맞춤형인 다른 하드웨어가 또한 포함될 수 있다. 유사하게, 도면들에 도시된 임의의 스위치들은 오직 개념적이다. 맥락으로부터 더 구체적으로 이해되는 바와 같이, 이들의 기능은 프로그램 논리의 오퍼레이션을 통해, 전용 논리를 통해, 프로그램 제어와 전용 논리의 상호작용을 통해, 또는 심지어 수동으로 수행될 수 있고 특별한 기술이 구현자에 의해 선택가능하다.
여기에서의 청구항들에서, 특정 기능을 수행하는 수단으로서 표현된 임의의 요소는, 예를 들어 a) 기능을 수행하는 회로 요소들의 조합 또는 b) 기능을 수행하도록 소프트웨어를 실행하기 위해 적절한 회로와 조합되는 펌웨어, 마이크로코드 또는 이와 유사한 것을 포함하는 임의의 형태의 소프트웨어를 포함하는 이 기능을 수행하는 임의의 방식을 포괄하도록 의도된다. 그러한 청구항들에 의해 정의되는 바와 같은 본 원리들은, 여러 언급된 수단에 의해 제공되는 그 기능성들이 청구항들이 요구하는 방식으로 서로 조합되고 합쳐진다는 사실에 있다. 따라서, 그러한 기능성들을 제공할 수 있는 임의의 수단은 여기에 제시된 것들의 균등물이라고 여겨진다.
본 원리들의 "일 실시예" 또는 "실시예"뿐만 아니라 이들의 다른 변형들에 대한 명세서에서의 언급은, 그 실시예와 연관하여 기술된 특별한 특징, 구조, 특성 등등이 본 원리들 중 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전체에 걸쳐 여러 장소에 출현하는 구 "일 실시예에서" 또는 "실시예에서"뿐만 아니라 임의의 다른 변형들의 출현은, 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
예를 들어 "A/B", "A 및/또는 B" 및 "A와 B 중 적어도 하나"의 경우에, 이하의 "/", "및/또는", 및 "중 적어도 하나" 중 어느 것의 이용은, 제1로 리스팅된 옵션(A)의 선택만을, 또는 제2로 리스팅된 옵션(B)의 선택만을, 또는 두 옵션들(A 및 B) 모두의 선택을 포괄하도록 의도된다는 것을 알아야 한다. 추가의 예로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우에, 그러한 구절은 제1로 리스팅된 옵션(A)의 선택만을, 또는 제2로 리스팅된 옵션(B)의 선택만을, 또는 제3으로 리스팅된 옵션(C)의 선택만을, 또는 제1 및 제2로 리스팅된 옵션들(A 및 B)의 선택만을, 또는 제1 및 제3으로 리스팅된 옵션들(A 및 C)의 선택만을, 또는 제2 및 제3으로 리스팅된 옵션들(B 및 C)의 선택만을, 또는 모든 세 개의 옵션(A 및 B 및 C)의 선택을 포괄하도록 의도된다. 이것은 본 분야 및 관련된 분야의 당업자에 의해 즉시 명백한 바와 같이, 리스팅된 만큼의 아이템들에 대해 확장될 수 있다.
또한, 여기서 이용되는 바와 같이, 단어들 "픽처" 및 "이미지"는 상호변경 가능하게 이용되고, 또한 비디오 시퀀스로부터의 정지 이미지 또는 픽처를 말한다. 알려진 바와 같이, 픽처는 프레임 또는 필드일 수 있다.
추가로, 여기서 이용된 바와 같이, 단어 "신호"는 대응하는 디코더에 어떤 것을 지시하는 것을 말한다. 예를 들어, 인코더는, 예를 들어 픽처에서의 하나 이상의 블록에 대한 계수 중요도를 지시하는 데이터의 2진 세트와 같은 데이터를 디코딩하는 데에 재이용할 하나 이상의 트리 또는 서브 트리를 신호할 수 있다. 이런 방식으로, 동일한 트리들 및/또는 서브 트리들이 인코더 측 및 디코더 측 모두에서 이용될 수 있다. 따라서, 예를 들어, 인코더는, 디코더가 동일한 트리들 및/또는 서브 트리들의 세트를 이용할 수 있도록 트리들 및/또는 서브 트리들의 세트를 송신할 수 있고, 또는 만약 디코더가 트리들 및/또는 서브 트리들의 세트와 함께 다른 것들도 이미 가지고 있다면, 신호하는 것은 (송신하지 않고) 단순히 디코더가 이 트리들 및/또는 서브 트리들의 세트를 알도록 및 선택하도록 허용하는 데에 이용될 수 있다. 어떤 실제 트리들 및/또는 서브 트리들의 세트의 송신을 피함으로써, 비트 절약들이 실현될 수 있다. 신호하는 것은 다양한 방식으로 달성될 수 있다는 것을 알아야 한다. 예를 들어, 하나 이상의 신택스 요소, 플래그 등등이 대응하는 디코더에게 정보를 신호하는 데에 이용될 수 있다.
앞서 지적한 바와 같이, 본 원리들은 2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법들 및 장치들에 관한 것이다.
도 1로 넘어가서, 본 원리들이 적용될 수 있는 예시적 비디오 인코더가 참조번호 100에 의해 일반적으로 지시된다. 비디오 인코더(100)는, 결합기(185)의 비반전 입력과 신호 통신으로 연결되는 출력을 갖는 프레임 순서화 버퍼(110)를 포함한다. 결합기(185)의 출력은 변환기 및 양자화기(125)의 제1 입력과 신호 통신으로 연결된다. 변환기 및 양자화기(125)의 출력은 엔트로피 코더(145)의 제1 입력과 역변환기 및 역양자화기(150)의 제1 입력과 신호 통신으로 연결된다. 엔트로피 코더(145)의 출력은 결합기(190)의 제1 비반전 입력과 신호 통신으로 연결된다. 결합기(190)의 출력은 출력 버퍼(135)의 제1 입력과 신호 통신으로 연결된다.
인코더 제어기(105)의 제1 출력은 프레임 순서화 버퍼(110)의 제2 입력, 역변환기 및 역양자화기(150)의 제2 입력, 픽처 유형 결정 모듈(115)의 입력, 매크로블록 유형(MB 유형) 결정 모듈(120)의 제1 입력, 인트라 예측 모듈(160)의 제2 입력, 디블록킹 필터(165)의 제2 입력, 움직임 보상기(170)의 제1 입력, 움직임 추정기(175)의 제1 입력, 및 레퍼런스 픽처 버퍼(180)의 제2 입력과 신호 통신으로 연결된다.
인코더 제어기(105)의 제2 출력은 SEI(Supplemental Enhancement Information) 삽입기(130)의 제1 입력, 변환기 및 양자화기(125)의 제2 입력, 엔트로피 코더(145)의 제2 입력, 출력 버퍼(135)의 제2 입력, 및 SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set) 삽입기(140)의 입력과 신호 통신으로 연결된다.
SEI 삽입기(130)의 출력은 결합기(190)의 제2 비반전 입력과 신호 통신으로 연결된다.
픽처 유형 결정 모듈(115)의 제1 출력은 프레임 순서화 버퍼(110)의 제3 출력과 신호 통신으로 연결된다. 픽처 유형 결정 모듈(115)의 제2 출력은 매크로블록 유형 결정 모듈(120)의 제2 입력과 신호 통신으로 연결된다.
SPS 및 PPS 삽입기(140)의 출력은 결합기(190)의 제3 비반전 입력과 신호 통신으로 연결된다.
역양자화기 및 역변환기(150)의 출력은 결합기(119)의 제1 비반전 입력과 신호 통신으로 연결된다. 결합기(119)의 출력은 인트라 예측 모듈(160)의 제1 입력 및 디블록킹 필터(165)의 제1 입력과 신호 통신으로 연결된다. 디블록킹 필터(165)의 출력은 레퍼런스 픽처 버퍼(180)의 제1 입력과 신호 통신으로 연결된다. 레퍼런스 픽처 버퍼(180)의 출력은 움직임 추정기(175)의 제2 입력과 움직임 보상기(170)의 제3 출력과 신호 통신으로 연결된다. 움직임 추정기(175)의 제1 출력은 움직임 보상기(170)의 제2 입력과 신호 통신으로 연결된다. 움직임 추정기(175)의 제2 출력은 엔트로피 코더(145)의 제3 출력과 신호 통신으로 연결된다.
움직임 보상기(170)의 출력은 스위치(197)의 제1 입력과 신호 통신으로 연결된다. 인트라 예측 모듈(160)의 출력은 스위치(197)의 제2 입력과 신호 통신으로 연결된다. 매크로 블록 유형 결정 모듈(120)의 출력은 스위치(197)의 제3 입력과 신호 통신으로 연결된다. 스위치(197)의 제3 입력은, (제어 입력, 즉 제3 입력과 비교해서) 스위치의 "데이터" 입력이 움직임 보상기(170) 또는 인트라 예측 모듈(160)에 의해 제공되는 것인지 여부를 판정한다. 스위치(197)의 출력은 결합기(119)의 제2 비반전 입력 및 결합기(185)의 반전 입력과 신호 통신으로 연결된다.
프레임 순서화 버퍼(110)의 제1 입력 및 인코더 제어기(105)의 입력은 입력 픽처를 수신하는 인코더(100)의 입력들로서 이용가능하다. 더욱이, SEI 삽입기(130)의 제2 입력은 메타데이터를 수신하는 인코더(100)의 입력으로서 이용가능하다. 출력 버퍼(135)의 출력은 비트스트림을 출력하는 인코더(100)의 출력으로서 이용가능하다.
도 2로 넘어가서, 본 원리들이 적용될 수 있는 예시적인 비디오 디코더가 참조번호 200에 의해 일반적으로 지시된다. 비디오 디코더(200)는, 엔트로피 디코더(245)의 제1 입력과 신호 통신으로 연결되는 출력을 갖는 입력 버퍼(210)를 포함한다. 엔트로피 디코더(245)의 제1 출력은 역변환기 및 역양자화기(250)의 제1 입력과 신호 통신으로 연결된다. 역변환기 및 역양자화기(250)의 출력은 결합기(225)의 제2 비반전 입력과 신호 통신으로 연결된다. 결합기(225)의 출력은 디블록킹 필터(265)의 제2 입력 및 인트라 예측 모듈(260)의 제1 입력과 신호 통신으로 연결된다. 디블록킹 필터(265)의 제2 출력은 레퍼런스 픽처 버퍼(280)의 제1 입력과 신호 통신으로 연결된다. 레퍼런스 픽처 버퍼(280)의 출력은 움직임 보상기(270)의 제2 입력과 신호 통신으로 연결된다.
엔트로피 디코더(245)의 제2 출력은 움직임 보상기(270)의 제3 입력, 디블록킹 필터(265)의 제1 입력 및 인트라 예측기(260)의 제3 입력과 신호 통신으로 연결된다. 엔트로피 디코더(245)의 제3 출력은 디코더 제어기(205)의 입력과 신호 통신으로 연결된다. 디코더 제어기(205)의 제1 출력은 엔트로피 디코더(245)의 제2 입력과 신호 통신으로 연결된다. 디코더 제어기(205)의 제2 출력은 역변환기 및 역양자화기(250)의 제2 입력과 신호 통신으로 연결된다. 디코더 제어기(205)의 제3 출력은 디블록킹 필터(265)의 제3 입력과 신호 통신으로 연결된다. 디코더 제어기(205)의 제4 출력은 인트라 예측 모듈(260)의 제2 입력, 움직임 보상기(270)의 제1 입력, 및 레퍼런스 픽처 버퍼(280)의 제2 입력과 신호 통신으로 연결된다.
움직임 보상기(270)의 출력은 스위치(297)의 제1 입력과 신호 통신으로 연결된다. 인트라 예측 모듈(260)의 출력은 스위치(297)의 제2 입력과 신호 통신으로 연결된다. 스위치(297)의 출력은 결합기(225)의 제1 비반전 입력과 신호 통신으로 연결된다.
입력 버퍼(210)의 입력은, 입력 비트스트림을 수신하는 디코더(200)의 입력으로서 이용가능하다. 디블록킹 필터(265)의 제1 출력은 출력 픽처를 출력하는 디코더(200)의 출력으로서 이용가능하다.
MPEG-4 AVC 표준에서, 0이 아닌 계수 위치들은 중요도 맵에 의해 인코딩된다. MPEG-4 AVC 표준에서의 중요도 맵은 이하와 같이 작동한다. 만약 coded_block_flag가 블록이 중요한 계수들을 갖는다고 지시하면, 2진 값으로 된 중요도 맵이 인코딩된다. 스캐닝 순서에서의 각각의 계수에 대해, 1비트 심벌 significant_coeff_flag가 송신된다. 만약 significant_coeff_flag가 1이면, 즉 0이 아닌 계수가 이 스캐닝 위치에 존재하면, 추가의 1비트 심벌 last_significant_coeff_flag가 보내진다. 이 심벌은, 현재 중요한 계수가 블록 내의 마지막의 것인지 또는 추가의 주요한 계수들이 뒤따를 것인지를 지시한다. 블록의 마지막 스캐닝 위치에 대한 플래그들(significant_coeff_flag, last_significant_coeff_flag)은 결코 송신되지 않는다는 것에 주목하라. 만약 마지막 스캐닝 위치에 도달하고 또한 중요도 맵 인코딩이 1의 값인 last_significant_coeff_flag에 의해 아직 종료되지 않았다면, 마지막 계수는 중요해야 하는 것이 명백하다.
중요도를 지시하는 또 다른 방법은 소위 0 트리들에 의해 행해진다. 트리는 링크된 노드들의 세트로 계층적 트리 구조를 모방하는 널리 이용되는 데이터 구조이다. 더욱이, 트리는 각각의 노드가 0 이상의 자식 노드의 세트와 최대 하나의 부모 노드를 갖는 비순환적으로 연결된 그래프이다.
0 트리들을 이용하여 중요도 신호하는 것의 예들은 이미지 압축을 위한 웨이브렛 변환(wavelet transform)에서 발견할 수 있다. 트리 구조는 중요도 맵을 전하는 데에 이용된다. 도 3으로 넘어가서, 본 원리들이 적용될 수 있는 예시적인 트리 구조가 참조번호 300에 의해 일반적으로 지시된다. 각각의 작은 사각형들은 변환 계수를 나타낸다. 트리의 루트는 그 안에 포함된 별을 갖는 작은 사각형에 의해 나타내어진다. 자식 노드들은 이웃하는 계수들이다. 이것 이후에, 자식 노드 관계들은 화살표로 신호된다. 도시된 바와 같이, 각각의 부모는 자식으로서 네 개의 다른 계수들을 갖는다. 트리 구조(300)는 이런 전술한 관계들, 및 어떻게 트리가 구조되는지를 도시하는 예시일 뿐이지만, 전체 트리 또는 트리 내에서의 부모 자식 관계들을 도시하지는 않는다. 이런 경우에, 트리의 각각의 노드는 계수에 관련하고, 또한 트리는 2D로 웨이브렛 변환 계수들 간의 공간적인 관계들을 고려하여 구성된다. 그 후, 모든 노드에 대해, 0 또는 1이 보내진다. 0의 값/심벌은 트리에서의 특정 노드에서의 계수뿐만 아니라 이 트리에서의 이 계수보다 아래의 모든 계수들이 0임을 지시한다. 이런 방식으로, 많은 0 계수는 오직 하나의 심벌로 인코딩된다. 많은 0이 있는 경우에, 그러한 접근법은 양호한 압축률을 달성한다.
다른 유형의 트리는 간단하지만 효율적인 종류의 트리인 2진 트리이다. 제1 종래 기술 접근법에서, 트리는 계수 위치들을 기술하는 데에 이용된다. 그러한 경우에, 트리의 내부의 노드들은 어떤 계수에도 연관되지 않는 반면에 트리의 각각의 잎은 변환 계수에 연관될 수 있다. 그 후, 인코딩은 이전 경우, 즉 노드 아래의 모든 계수들이 0인 경우와 유사한데, 그러면 "0"은 그 상황을 지시할 수 있어서, 그 노드 아래로 갈 필요가 없고, 또한 각각의 "이후의" 계수의 중요도/0 값을 명시적으로 지시할 필요가 없다. 본 원리들은 이런 유형의 트리로 지향된다.
계수가 중요한 확률은 종래 기술의 접근법들이 적절히 고려하지 않은 많은 요인에 의존한다. 예를 들어, 계수들의 중요도 간의 공간적 상호관계가 있다. 더욱이, 더 낮은 빈도들의 계수들의 통계적 성질들은 더 높은 빈도들의 계수들의 통계적 성질들과 다르다. 또한, 상이한 나머지 블록들의 중요도 맵은 매우 상이할 수 있다. 따라서, 단일 데이터 구조 및 인코딩 프로세스를 이용하는 것은 모든 이런 가변성을 잡기에 충분하지 않다.
중요도 맵(또는 임의의 2진 세트)의 가변성에 더 양호하게 적응하기 위해 몇 개의 트리 및 서브 트리를 이용하는 것이 제안되었다. 각각의 중요도 맵에 대해, 맵을 인코딩하는 데에 이용될 최적의 트리 또는 서브 트리의 조합의 선택이 이루어진다. 잎들의 값들 사이의 통계적 성질들 및 상호관계를 활용(exploit)하는 변환들, 그루핑들(groupings), 부호 변경(flipping signs) 및 다른 동작들의 이용이 또한 알려져 있고, 트리들, 서브 트리들, 또는 이것들의 부분들에서 이러한 동작들의 이용이 또한 제안되었다.
비디오 코딩 기술들은 예측 및 변환 사이즈들을 증가시킴으로써 성능을 향상시키고 있다. 이러한 큰 사이즈는 트리 구조들의 요구사항들에 영향을 준다. 트리 구조들의 요구사항들을 단순화하기 위해, 우리는 여기에 반복적인 트리들의 이용에 대한 방법들 및 장치를 기술하는데, 여기서 중요도 맵과 같은, 그러나 이것에 제약되지는 않는 2진 세트의 상이한 부분들을 인코딩하는 데에 트리 또는 트리의 부분이 재이용된다. 구체적으로, 우리는 유사한 통계치들을 갖는 2진 세트의 상이한 영역들에서 트리들 또는 트리들의 부분들을 재이용한다. 우리는 반복적 알고리즘이 적용되도록 트리 구조를 적응시킨다. 이런 방법은 완전한 트리의 코딩 성능을 유지하고 또는 심지어 개선시키고, 매우 유사한 계산적 복잡성을 유지하면서, 요구되는 확률들의 수를 감소시킨다.
반면에, 현재의 비디오 인코더들은 심벌들을 인코딩하기 위해 산술 부호화(arithmetic coding)를 이용한다. 각각의 심벌은 연관된 컨텍스트에 대한 확률을 갖는다. 2진 세트들을 인코딩하는 트리 기초의 방법은 각각의 심벌을 엔트로피 코딩함으로써 통계에 적응할 수 있다. 하나 이상의 확률이 각각의 노드 또는 노드들 간의 가지(branch)에 연관된다. 약점은 확률들의 수가 대응하는 2진 세트에 대한 트리의 사이즈와 함께 증가한다는 것이다. 우리는 2진 세트의 상이한 부분들에서 트리 또는 서브 트리들을 재이용함으로써 이 증가를 제한하는 것을 제안한다. 예를 들어, 16×16 변환 계수들은 8×8의 0 트리 또는 8×8의 서브 트리를 재이용할 수 있다. 따라서, 확률들과 연관된 상당한 컨텍스트들이 절약될 수 있다. 효율성의 관점에서, 재이용이 유사한 통계들을 갖는 2진 세트들의 부분들로 제한되는 경우에, 이런 복잡도에서의 감소가 이루어진다. 더 큰 변환이, 특히 고화질(HD: high definition) 비디오에 대해 코딩 효율을 개선하는 데에 이용되는 경우에, 본 원리들은 이점을 갖는다.
(예를 들어, 변환된 계수들의 중요도 맵과 같은) 2진 세트들을 인코딩하는 0 트리 구조에서, 잎들은 세트의 요소의 2진 값을 받는다. 따라서, 2진 세트에서의 각각의 잎의 값과 각각의 요소 사이는 일대일 관계이다. 나머지 계수들의 중요도 맵은 2진 세트를 형성한다.
특정 내부 노드의 값은 이 특정 내부 노드 아래의 노드들의 값을 판정함으로써 확인된다. 이런 방식으로, 각각의 내부 노드의 중요도/2진 값은 잎 노드들에서부터 루트 노드까지 도출된다. 그 후, 트리는 루트 노드에서부터 시작하여 노드들의 값을 신호함으로써 인코딩된다. 특정 노드에 대해 "0"이 마킹된 경우에 그 특정 노드 아래의 모든 ("아래쪽") 노드들도 또한 "0"이어서 이러한 아래쪽 노드들에 대한 값들을 특정적으로 신호할 필요가 없다는 것을 의미하기 때문에, 압축이 달성된다. 본 방법의 변형들이 존재한다.
예시: 2진 트리
명확함 및 설명의 목적들을 위해, 우리는 먼저 2진 트리를 설명한다. 2진 트리는 자식을 갖지 않는 잎 노드들을 제외하고는 각각의 내부 노드가 두 개의 자식 노드를 갖는 트리이다. 전술된 제1 종래 기술 접근법에서, 중요도 맵들을 인코딩하기 위해 2진 트리가 기술되었다.
도 4로 넘어가서, 본 원리들이 적용될 수 있는 예시적인 2진 트리가 참조번호 400에 의해 일반적으로 지시된다. 2진 트리(400)는 노드들 1부터 13까지를 포함한다. 2진 트리(400)는 6개의 내부 노드 및 7개의 잎 노드를 갖는다. 노드(1)는 루트 노드이다. 노드들(2, 3, 6, 9 및 11)은 내부 노드들이다. 노드들(4, 5, 7, 8, 10, 12 및 13)은 잎 노드들이다. 노드 내의 숫자는 노드들이 횡단되는 순서를 지시한다. 이 예시에서, 순서는 깊이 먼저이다. 물론, 본 기술 또는 연관된 기술의 당업자에 의해 쉽게 예상되는 바와 같이 다른 순서들도 가능하다.
2진 세트는 트리의 잎들에 매핑된다. 도 5로 넘어가서, 2진 트리의 잎으로의 2진 세트의 예시적인 매핑이 참조번호 500에 의해 일반적으로 지시된다. 잎 내의 숫자는 잎이 링크되는 2진 세트의 요소를 지시한다. 예를 들어, (c0 내지 c6에 의해 표시될 것인) 7개의 계수의 중요도 맵이 이 트리로 인코딩될 수 있다. 제1 계수가 0이면 c0의 값은 "0"과 같고 다른 경우에 "1"과 같다. 동일한 방식이 나머지 계수들에 적용된다. 제1 계수 중요도는 참조번호 "1"에 의해 지시되는 잎을 이용하여 인코딩되고, 제2 계수 중요도는 참조번호 "2"에 의해 지시되는 잎을 이용하여 인코딩되고 또한 다른 계수 중요도 역시 마찬가지로 인코딩된다.
어떻게 인코딩 프로세스가 수행되는지의 예시가 이하에서 기술된다. 인코딩 프로세스는 루트에서부터 시작하고 노드들이 횡단하는 순서(이 경우 깊이 먼저인 순서)를 따른다. 만약 노드가 중요하면(즉, 두 자식 모두가 중요하면), "1"이 인코딩되고 인코딩 프로세스는 다음 노드로 진행된다. 만약 노드가 중요하지 않으면(즉, 자식 중 하나가 중요하지 않으면), "0"이 인코딩되고, 그 후에 좌 또는 우 자식이 중요한지가 지시된다. 이것은 좌 자식이 중요하면 "1"을 인코딩함으로써, 및 우 자식이 중요하면 "0"을 인코딩함으로써 행해진다.
특정 예시가 이하이다. 잎 노드들에의 매핑이 앞에서 여기서 기술된 바와 같이 행해진다고 가정하자. 또한, c1, c2 및 c4를 제외한 모든 계수들이 0이라고 가정하자. 도 6으로 넘어가서, 2진 0 트리를 이용하는 중요도 맵의 예시적 코딩이 참조번호 600에 의해 일반적으로 지시된다. 코딩 프로세스는 깊이 먼저 순서로 적용된다. "0"을 갖는 내부 노드들은 두 자식 중 어느 것이 중요한지를 지시하는 제2 심벌을 보내는 것을 요한다. 이것은 대응하는 심벌을 갖는 좌측 가지상의 작은 사각형으로 도 6에서 도시된다. 이 맵에서 인코딩하는 최종 심벌들은 "11000101"이다.
2D 변환에 대해서, 먼저 2 디멘션 계수 세트는 1 디멘션 세트에 매핑되고, 그 후 각각의 세트는 잎들에 매핑된다. 도 7로 넘어가서, 2D 계수들의 1D 2진 세트에의 예시적인 매핑이 참조번호 700에 의해 일반적으로 지시된다. 특히, 매핑(700)은 8×8 변환에 대한 계수들의 2D 대 1D 매핑에 관련한다. 맵은 계수 0, c0에서 시작하고, 하단 우측 부분에 있는 마지막 계수 c63까지 화살표를 따라간다.
2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용
트리 내의 각각의 심벌은 대응하는 확률들로 엔트로피 인코딩된다. 엔트로피 인코딩은 산술 부호화기로 행해질 수 있다. 각각의 확률이 인코더 및 디코더에 의해 추적되고 콘텐츠에 적응되는 경우에, 인코더는 통계에 잘 적응하고 좋은 성능을 제공한다. 그러나, 큰 변환의 중요도 맵의 경우와 같이 트리가 큰 경우에, 모든 확률들을 저장하고 추적하기에 비용이 너무 많이 들 수 있다.
이 문제를 완화시키기 위해, 우리는 2진 세트의 다른 부분들에 대한 연관된 확률들 및/또는 트리 구조를 재이용한다. 많은 경우에, 트리 구조의 부분의 재이용은 재이용된 부분과 연관되는 임의의 대응하는 확률들의 재이용을 수반한다. 이런 방식으로, 본 분야 및 관련된 분야의 당업자에 의해 쉽게 이해되는 바와 같이 트리 구조의 재이용뿐만 아니라 임의의 연관된 확률들의 재이용은 복잡성, 오버헤드 등등에 있어서 큰 감소로 귀결되기 때문에 가장 큰 이점이 획득될 수 있다. 일 실시예에서, 8×8 변환의 경우에, 중요도 맵의 상이한 부분들은 수직 및 수평에서의 빈도들의 유사함에 기인하여 유사성들을 가질 수 있다. 상단 우측 계수들 및 하단 좌측 계수들 간에 통계적 대칭성이 있다. 이런 경우에, 구조 및 확률들은 두 부분들 상에서 재이용될 수 있다. 도 8로 넘어가서, 본 원리들의 실시예에 따라 동일한 트리를 공유할 수 있는 도 7의 예시적인 매핑의 부분들이 참조번호 800에 의해 일반적으로 지시된다. 이러한 부분들(800)은, 참조번호 800에 의해 지시되는 것을 제외하고도, 또한 점선으로 된 타원형 선으로 도 8에서 지시되고, 이에 반해 매핑(700)의 나머지 부분들은 실선에 의해 지시된다.
중요도 맵은 본 원리들의 교시사항들에 따라 활용될 수 있는 다른 특성들을 갖는다. 보통, 1D 맵 내의 제1 극소수의 계수들은 중요할 수 있는 더 높은 확률을 갖고 이들 사이의 상호관련성은 높다. 반면에, 중요도 맵의 나머지는 중요할 수 있는 더 작은 확률을 갖고 더 낮게 상호관련된다. 또한, 트리 내로 깊숙이 들어갈수록 중요한 계수들이 적어진다. 따라서, 또 다른 실시예에서, 이러한 맵의 부분들은 이들이 거의 항상 0들이라는 점에서 유사하다. 그 결과, 트리의 부분들은 메모리 복잡성을 줄이면서 성능에 피해를 주지 않고서 그 영역들에서 재이용될 수 있다. 도 9로 넘어가서, 본 원리들의 실시예에 따라 동일한 트리 구조 및 확률들을 공유할 수 있는, 도 7의 예시적인 매핑의 다른 부분들이 참조번호 900에 의해 일반적으로 지시된다. 이러한 부분들(900)은, 참조번호 900에 의해 지시되는 것을 제외하고도 점선으로 도 9에서 지시되고, 이에 반해 매핑(700)의 나머지 부분들은 실선에 의해 지시된다.
기존에 이용된 트리 구조의 하나 이상의 부분을 재이용하기 위해 본 원리들에 의해 활용될 수 있는 유사성은, 예를 들어 하나 이상의 유사성 메트릭(metric)에 기초할 수 있다고 이해된다. 예를 들어, 유사성을 판단하기 위해 적용할 수 있는 임계치는, 여기서 제공되는 본 원리들의 교시사항들이 주어지면 본 분야 및 관련 분야의 당업자에 의해 쉽게 생각될 수 있다. 이런 방식으로, 쉽게 이용가능한 객관적인 기준들이 유사성들을 쉽게 식별하고 이에 따라 본 원리들에 따라 동일한 것을 활용하는 데에 이용될 수 있다.
본 원리들의 예시적인 구현 중 적어도 하나가 이제 기술될 것이다. 그러나, 그러한 구현은 설명적 목적들을 위한 것이고, 본 원리들은 오직 그와 동일한 것에만 제약되지 않는다는 것을 알아야 한다. 예시적인 구현에서, 우리는 중요도 맵에서의 제1 극소수의 요소들만이 상이한 통계치를 갖는 앞서 기술된 상황을 가정한다. 따라서, 뒤따르는 요소들에 대해, 트리의 서브 트리가 재이용된다. 그렇게 하기 위해, 우리는 트리의 마지막 잎이 (동일한) 다음 트리의 루트와 연결하는 반복적인 트리를 제안한다. 이런 방식으로, 구조 및 확률들은 반복적으로 재이용된다. 도 10으로 넘어가서, 본 원리들의 실시예에 따르는 예시적인 반복적 2진 트리가 참조번호 1000에 의해 일반적으로 지시된다. 점선을 이용하여 묘사되고 참조번호들 "1", "2", 및 "3"을 그 안에 포함하도록 제각기 라벨링된 세 개의 박스에 의해 지시되는 바와 같이, 세 번 이용되는 트리의 서브 트리가 있다. 따라서, 동일한 내부 노드들(a 및 b)을 갖는 동일한 구조가 (번호가 붙은 점선으로 된 사각형들 내에서) 세 번 발견된다. 이 잎들 및 내부 노드들을 인코딩하는 데 이용되는 확률들은 동일할 수 있다.
또 다른 실시예에서, 우리는 더 큰 변환을 위해 더 작은 변환들의 트리를 재이용한다. 16×16 변환들의 계수들은 8×8 계수들의 네 세트로 분할될 수 있다. 예를 들어, 이것은 제1 계수를 제1 세트에, 제2 계수를 제2 세트에, 제3 계수를 제3 세트에, 제4 계수를 제4 세트에, 제5 계수를 다시 제1 세트에 넣음으로써, 이런 식으로 행해질 수 있다. 그러면 네 개의 세트의 각각은 8×8 계수들에 대한 트리를 이용할 수 있다. 추가로, 네 개의 8×8 트리는 네 개의 잎 노드를 갖는 트리에 의해 단일 트리 내에 함께 놓일 수 있다. 도 11로 넘어가서, 본 원리들의 실시예에 따르는 변환 중요도 맵들에 대한 더 큰 트리를 생성하기 위한 더 작은 트리들의 예시적인 재이용이 참조번호 1100에 의해 일반적으로 지시된다.
이 방법은 연쇄적인 변환들에 대해 매우 잘 작동한다. 연쇄적인 변환은 두 개의 변환을 순차적으로 연결함으로써 형성되는 변환이다. 예를 들어, 16×16 변환은 4개의 8×8 변환에 적용하고 그 후 처음 변환으로부터 오는 DC 성분들에 대해 2×2 변환을 적용함으로써 획득될 수 있다. 그 후, 네 개의 8×8 서브 트리를 재이용하는 16×16의 분할은 이하와 같이 자연스럽게 나온다: 처음 8×8 변환의 계수들에 2×2 변환의 하나의 계수를 더한 것은 서브 트리일 것이고, 다른 3개의 서브 트리에 대해 유사한 배열을 갖는다.
이하에서 기술되는 몇몇의 방법은 2진 데이터의 세트들 및 2진이 아닌 데이터의 세트들에 관련한다. 하나의 설명적 예로서 비디오 데이터에 대하여, 그러한 데이터의 세트들은 어떤 예측이 인코딩될 또는 디코딩될 픽처 내의 현재의 블록에 대해 수행될지의 판정으로부터 유래할 수 있다. 그러한 경우에, 2진 데이터의 세트는 한 방법을 이용하여 인코딩되거나 디코딩될 수 있는 반면에 2진이 아닌 데이터의 세트는 다른 방법을 이용하여 인코딩되거나 디코딩될 수 있다. 그러한 경우에 본 원리들이 지향되는 것은 2진 데이터의 세트이다.
도 12로 넘어가서, 본 원리들의 실시예에 따라서 2진 세트를 인코딩하기 위해 트리 구조들을 재이용하는 예시적인 방법이 참조번호 1200에 의해 일반적으로 지시된다. 방법(1200)은 기능 블록(1210)에게 제어를 넘기는 시작 블록(1205)을 포함한다. 기능 블록(1210)은 예측 모드 선택을 수행하고, 기능 블록(1215)에게 제어를 넘긴다. 기능 블록(1215)은 [기능 블록(1210)에 의해 선택된 예측 모드를 이용하여 획득한] 예측을 신호하고, 기능 블록(1220)에게 제어를 넘긴다. 기능 블록(1220)은 2진이 아닌 세트에 대해 엔트로피 코딩을 수행하고, 기능 블록(1225)에게 제어를 넘긴다. 기능 블록(1225)은 2진 세트를 인코딩하기 위해 재이용될 트리 및 하나 이상의 서브 트리를 판정하고 기능 블록(1230)에게 제어를 넘긴다. 기능 블록(1230)은 기능 블록(1225)에 의해 판정된 트리 및 하나 이상의 서브 트리로 2진 세트의 엔트로피 코딩을 수행하고, 종료 블록(1299)에게 제어를 넘긴다.
도 13으로 넘어가서, 본 원리들의 실시예에 따라서 2진 세트를 디코딩하기 위해 트리 구조들을 재이용하는 예시적인 방법이 참조번호 1300에 의해 일반적으로 지시된다. 방법(1300)은 기능 블록(1310)에게 제어를 넘기는 시작 블록(1305)을 포함한다. 기능 블록(1310)은 2진이 아닌 세트에 대해 엔트로피 디코딩을 수행하고, 기능 블록(1315)에게 제어를 넘긴다. 기능 블록(1315)은 세트를 인코딩하기 위해 (이전에) 재이용된 트리 및 하나 이상의 서브 트리를 판정하고, 기능 블록(1320)에게 제어를 넘긴다. 기능 블록(1320)은 기능 블록(1315)에 의해 판정된 트리 및 하나 이상의 서브 트리를 이용하여 2진 세트를 디코딩하고, 기능 블록(1325)에게 제어를 넘긴다. 기능 블록(1325)은 신호 재구성을 수행하고, 종료 블록(1399)에게 제어를 넘긴다.
도 12 및 13의 방법들(1200 및 1300)은 제각기 하나의 트리와 (하나의 트리에서부터의) 하나 이상의 서브 트리의 이용을 수반하지만, 다른 실시예들에서 본 원리들은 하나보다 많은 트리와 하나보다 많은 트리의 하나 이상의 서브 트리를 수반할 수 있다는 것을 알아야 한다. 여기서 제공된 본 원리들의 교시사항들이 주어지면, 본 분야 및 관련 분야의 당업자들은 본 원리들의 사상을 유지하면서 본 원리들의 이러한 및 다른 변형들을 생각할 수 있을 것이다.
도 14로 넘어가서, 본 원리들의 실시예에 따라 2진 세트를 인코딩하기 위해 트리 구조를 재이용하는 다른 예시적인 방법이 참조번호 1400에 의해 일반적으로 지시된다. 방법(1400)은 기능 블록(1410)에게 제어를 넘겨주는 시작 블록(1405)을 포함한다. 기능 블록(1410)은 예측 모드 선택, 신호 예측, 포워드 N×N 변환, 및 양자화를 수행하고, 기능 블록(1415)에게 제어를 넘긴다. 기능 블록(1415)은 변환된 계수들의 중요도 맵을 판정하고, 기능 블록(1420)에게 제어를 넘긴다. 기능 블록(1420)은 중요도를 1D(one dimensional) 2진 세트에 매핑하고, 기능 블록(1425)에게 제어를 넘긴다. 기능 블록(1425)은 처음 2N개의 계수에 대해 트리로 2진 세트의 엔트로피 인코딩을 수행하고 남아 있는 계수들에 대해 또 다른 N+1개의 잎의 서브 트리를 반복적으로 재이용하고, 기능 블록(1430)에게 제어를 넘긴다. 기능 블록(1430)은 중요한 계수들의 크기와 부호를 인코딩하고, 기능 블록(1499)에게 제어를 넘긴다.
도 15로 넘어가서, 본 원리들의 실시예에 따라 2진 세트를 디코딩하기 위해 트리 구조를 재이용하는 다른 예시적인 방법이 참조번호 1500에 의해 일반적으로 지시된다. 방법(1500)은 기능 블록(1510)에게 제어를 넘기는 시작 블록(1505)을 포함한다. 기능 블록(1510)은 처음 2N개의 계수에 대해 트리로 2진 세트의 엔트로피 디코딩을 수행하고 반복적으로 남아 있는 계수들에 대해 또 다른 N+1개의 잎의 서브 트리를 반복적으로 재이용하고, 기능 블록(1515)에게 제어를 넘긴다. 기능 블록(1515)은 중요도 맵에 1D 2진 세트를 매핑하고, 기능 블록(1520)에게 제어를 넘긴다. 기능 블록(1520)은 변환된 계수들의 중요도 맵을 판정하고, 기능 블록(1530)에게 제어를 넘긴다. 기능 블록(1530)은 중요한 계수들의 크기 및 부호를 디코딩하고, 종료 블록(1599)에게 제어를 넘긴다.
도 16으로 넘어가서, 본 원리들의 실시예에 따라 2진 세트를 인코딩하기 위해 트리 구조를 재이용하는 또 다른 예시적인 방법이 참조번호 1600에 의해 일반적으로 지시된다. 방법(1600)은 기능 블록(1610)에게 제어를 넘기는 시작 블록(1605)을 포함한다. 기능 블록(1610)은 예측 모드 선택, 신호 예측, 포워드 N×N 변환, 및 양자화를 수행하고, 기능 블록(1615)에게 제어를 넘긴다. 기능 블록(1615)은 변환된 계수들의 중요도 맵을 결정하고, 기능 블록(1620)에게 제어를 넘긴다. 기능 블록(1620)은 1D 2진 세트에 중요도를 매핑하고, 기능 블록(1625)에게 제어를 넘긴다. 기능 블록(1625)은 N/2×N/2 크기 변환을 위해 트리를 4회 재이용함으로써 형성된 트리로 2진 세트의 엔트로피 인코딩을 수행하고, 기능 블록(1630)에게 제어를 넘긴다. 기능 블록(1630)은 중요한 계수들의 크기와 부호를 인코딩하고, 기능 블록(1699)에게 제어를 넘긴다.
도 17로 넘어가서, 본 원리들의 실시예에 따라 2진 세트를 디코딩하기 위해 트리 구조를 재이용하는 또 다른 예시적인 방법이 참조번호 1700에 의해 일반적으로 지시된다. 방법(1700)은 기능 블록(1710)에게 제어를 넘기는 시작 블록(1705)을 포함한다. 기능 블록(1710)은 N/2×N/2 크기 변환을 위해 트리를 4회 재이용함으로써 형성된 트리로 2진 세트의 엔트로피 디코딩을 수행하고, 기능 블록(1715)에게 제어를 넘긴다. 기능 블록(1715)은 중요도 맵에 1D 2진 세트를 매핑하고, 기능 블록(1720)에게 제어를 넘긴다. 기능 블록(1720)은 변환된 계수들의 중요도 맵을 판정하고, 기능 블록(1730)에게 제어를 넘긴다. 기능 블록(1730)은 중요한 계수들의 크기와 부호를 디코딩하고, 종료 블록(1799)에게 제어를 넘긴다.
도 18로 넘어가서, 본 원리들의 실시예에 따라 2진 세트를 인코딩하기 위해 트리 구조를 재이용하는 또 다른 예시적인 방법이 참조번호 1800에 의해 일반적으로 지시된다. 방법(1800)은 기능 블록(1810)에게 제어를 넘기는 시작 블록(1805)을 포함한다. 기능 블록(1810)은 비디오 콘텐츠의 계수들의 중요도 맵을 분석하고, 기능 블록(1815)에게 제어를 넘긴다. 기능 블록(1815)은 유사성 메트릭에 의해 재이용할 트리 구조 및 확률들을 판정하고, 기능 블록(1820)에게 제어를 넘긴다. 기능 블록(1820)은 현재 계수들의 중요도 맵을 1D 2진 세트로 매핑하고, 기능 블록(1825)에게 제어를 넘긴다. 기능 블록(1825)은 트리로 2진 세트의 엔트로피 인코딩을 수행하고, 기능 블록(1830)으로 제어를 넘긴다. 기능 블록(1830)은 중요한 계수들의 크기 및 부호를 인코딩하고, 기능 블록(1899)에게 제어를 넘긴다.
도 19로 넘어가서, 본 원리들의 실시예에 따라 2진 세트를 디코딩하기 위해 트리 구조를 재이용하는 또 다른 예시적인 방법이 참조번호 1900에 의해 일반적으로 지시된다. 방법(1900)은 기능 블록(1910)에게 제어를 넘기는 시작 블록(1905)을 포함한다. 기능 블록(1910)은 비디오 콘텐츠의 계수들의 중요도 맵을 분석하고, 기능 블록(1915)에게 제어를 넘긴다. 기능 블록(1915)은 유사성 메트릭에 의해 재이용할 트리 구조 및 확률을 판정하고, 기능 블록(1920)에게 제어를 넘긴다. 기능 블록(1920)은 트리로 현재 2진 세트의 엔트로피 디코딩을 수행하고, 기능 블록(1925)에게 제어를 넘긴다. 기능 블록(1925)은 1D 2진 세트를 현재 계수들의 중요도 맵에 매핑하고, 기능 블록(1930)에게 제어를 넘긴다. 기능 블록(1930)은 중요한 계수들의 크기 및 부호를 디코딩하고, 기능 블록(1999)에게 제어를 넘긴다.
본 발명의 다수의 수반되는 이점들/특징들의 부분에 대한 기술이 이제 주어질 것인데, 이들 중 일부는 앞서 언급되었다. 예를 들어, 하나의 이점/특징은 트리 구조를 이용하여 2진 데이터의 세트를 인코딩하는 인코더를 갖는 장치이다. 인코더는 트리 구조의 부분을 이용하여 2진 세트의 부분을 인코딩하고, 2진 세트의 부분을 인코딩하는 데에 이용되는 트리 구조의 부분의 적어도 일부를 재이용함으로써 2진 세트의 또 다른 부분을 인코딩한다.
다른 이점/특징은 앞서 기술된 바와 같은 인코더를 갖는 장치인데, 여기서 2진 세트의 다른 부분을 인코딩하는 데에 재이용된 트리 구조의 부분의 적어도 일부는 반복적으로 재이용된다.
또 다른 이점/특징은 앞서 기술된 바와 같은 인코더를 갖는 장치인데, 여기서 2진 세트는 변환 계수들의 중요도를 나타내고, 사전에 특정된 사이즈보다 큰 변환의 변환 계수들의 중요도는 사전에 특정된 사이즈보다 작은 변환들에 대응하는 트리 구조 부분들을 재이용한다.
또 다른 이점/특징은 앞에 기술된 바와 같은 인코더를 갖는 장치인데, 여기서 장치는 비디오 인코더에 포함된다.
더욱이, 다른 이점/특징은 앞서 기술된 바와 같은 인코더를 갖는 장치인데, 여기서 어떤 트리 구조 부분들이 재이용될지에 대한 결정은 2진 세트가 대응하는 콘텐츠의 성질들에 기초한다.
추가로, 다른 이점/특징은 앞서 기술된 바와 같은 인코더를 갖는 장치인데, 여기서 어떤 트리 구조 부분들이 재이용될지에 대한 결정은 앞서 기술된 바와 같이 2진 세트가 대응하는 콘텐츠의 성질들에 기초하고, 결정을 내리기 위해 평가되는 콘텐츠의 성질은 계수 중요도 맵으로부터 도출된다.
또한, 다른 이점/특징은 앞서 기술된 바와 같은 인코더를 갖는 장치인데, 여기서 어떤 트리 구조 부분들이 재이용될지에 대한 결정은 앞서 기술된 바와 같이 2진 세트가 대응하는 콘텐츠의 성질들에 기초하고, 그 결정은 하나 이상의 유사성 메트릭에 기초하여 성질들이 유사한지에 기초한다.
본 원리들의 이러한 그리고 다른 특징들 및 이점들은 여기서의 교시사항들에 기초하여 관련 분야의 당업자에 의해 쉽게 규명될 수 있을 것이다. 본 원리들의 교시사항들은 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서들, 또는 이들의 조합들의 여러 형태로 구현될 수 있다는 것을 알아야 한다.
가장 바람직하게는, 본 원리들의 교시사항들은 하드웨어와 소프트웨어의 조합으로서 구현된다. 더욱이, 소프트웨어는 프로그램 저장 유닛 상에 실체적으로 내장되는 응용 프로그램으로서 구현될 수 있다. 응용 프로그램은 임의의 적절한 구조를 포함하는 기계로 업로드될 수 있고 및 그에 의해 실행될 수 있다. 바람직하게는, 기계는 하나 이상의 CPU, RAM, I/O 인터페이스와 같은 하드웨어를 갖는 컴퓨터 플랫폼상에 구현된다. 컴퓨터 플랫폼은 또한 운영 체제 및 마이크로명령 코드를 포함할 수 있다. 여기서 기술되는 여러 프로세스 및 기능들은 CPU에 의해 실행될 수 있는 마이크로명령 코드의 일부 또는 응용 프로그램의 일부 또는 이들의 임의의 조합일 수 있다. 추가로, 추가적인 데이터 저장 유닛 및 프린트 유닛과 같은 여러 다른 주변장치 유닛이 컴퓨터 플랫폼에 연결될 수 있다.
수반하는 도면들에서 묘사되는 구성하는 시스템 구성요소들 및 방법들 중 몇몇은 바람직하게는 소프트웨어로 구현되기 때문에, 시스템 구성요소들 또는 프로세스 기능 블록들 간의 실제적인 연결들은 본 원리들이 프로그래밍되는 방식에 의존하여 다를 수 있다는 것을 추가로 알아야 한다. 여기에서의 교시사항들이 주어지면, 관련 분야의 당업자는 본 원리들의 이것들 및 유사한 구현들 또는 구성들을 생각할 수 있을 것이다.
비록 예시적인 실시예들이 수반하는 도면들을 참조하여 여기서 기술되었지만, 본 원리들은 바로 그러한 실시예들에 제약되지 않는다는 것과, 여러 변형 및 수정이 관련 기술 분야의 당업자에 의해 본 원리들의 범위 또는 사상으로부터 벗어나지 않고도 성취될 수 있다는 것을 알아야 한다. 모든 그러한 변경들 및 수정들은 첨부된 청구항들에서 나열하는 바와 같은 본 원리들의 범위 내에 포함되도록 의도된다.

Claims (17)

  1. 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 장치로서,
    중요도 맵을 전하는 데이터의 2진 세트를 트리 구조를 이용하여 인코딩하는 인코더를 포함하고,
    상기 인코더는 복수의 노드를 포함하는 상기 트리 구조의 서브 트리 부분을 반복적인(recursively) 인코딩 과정에서 재이용하여 상기 2진 세트의 부분을 반복적으로 인코딩하며,
    제1 서브 트리 구조의 마지막 잎은 제2 서브 트리 구조의 루트와 같고, 상기 제1 서브 트리 구조 및 상기 제2 서브 트리 구조는 상기 중요도 맵을 전하는 상기 트리 구조의 서브 트리 부분들이며, 서브 트리의 부분들이 재사용되지 않는 경우에 비해 적은 개수의 확률들이 요구되도록 상기 제2 서브 트리 구조는 상기 제1 서브 트리 구조와 동일한 구조 및 그 노드들과 연관된 동일한 확률들을 가지고, 상기 확률들은 상기 중요도 맵의 노드가 중요할 가능성을 나타내는
    2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 장치.
  2. 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 방법으로서,
    중요도 맵을 전하는 데이터의 2진 세트를 트리 구조를 이용하여 인코딩하는 단계를 포함하고,
    상기 인코딩하는 단계는 복수의 노드를 포함하는 상기 트리 구조의 서브 트리 부분을 반복적인 인코딩 과정에서 재이용하여 상기 2진 세트의 부분을 반복적으로 인코딩하며,
    제1 서브 트리 구조의 마지막 잎은 제2 서브 트리 구조의 루트와 같고, 상기 제1 서브 트리 구조 및 상기 제2 서브 트리 구조는 상기 중요도 맵을 전하는 상기 트리 구조의 서브 트리 부분들이며, 서브 트리의 부분들이 재사용되지 않는 경우에 비해 적은 개수의 확률들이 요구되도록 상기 제2 서브 트리 구조는 상기 제1 서브 트리 구조와 동일한 구조 및 그 노드들과 연관된 동일한 확률들을 가지고, 상기 확률들은 상기 중요도 맵의 노드가 중요할 가능성을 나타내는
    2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  3. 삭제
  4. 제2항에 있어서,
    상기 2진 세트는 변환 계수들의 중요도(significance)를 나타내고, 사전에 특정된 사이즈보다 큰 변환의 상기 변환 계수들의 중요도는 상기 사전에 특정된 사이즈보다 더 작은 변환들에 대응하는 트리 구조 부분들을 재이용하는(1620, 1625), 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  5. 제1항에 있어서,
    상기 장치는 비디오 인코더에 포함되는(1225, 1230, 1400, 1425), 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 장치.
  6. 제2항에 있어서,
    어느 트리 구조 부분들이 재이용될지에 대한 결정은 상기 2진 세트가 대응하는 콘텐츠의 성질(property)들에 기초하는(1810, 1815, 1825), 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  7. 제6항에 있어서,
    상기 결정을 내리기 위해 평가되는 상기 콘텐츠의 성질들은 계수 중요도 맵으로부터 도출되는(1810, 1815, 1825), 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  8. 제6항에 있어서,
    상기 결정은 상기 성질들이 하나 이상의 유사성 메트릭(metric)에 기초하여 유사한지 여부에 기초하는(1810, 1815, 1825), 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  9. 2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 장치로서,
    중요도 맵을 전하는 데이터의 2진 세트를 트리 구조를 이용하여 디코딩하는 디코더를 포함하고,
    상기 디코더는 복수의 노드를 포함하는 상기 트리 구조의 서브 트리 부분을 반복적인 디코딩 과정에서 재이용하여 상기 2진 세트의 부분을 반복적으로 디코딩하며,
    제1 서브 트리 구조의 마지막 잎은 제2 서브 트리 구조의 루트와 같고, 상기 제1 서브 트리 구조 및 상기 제2 서브 트리 구조는 상기 중요도 맵을 전하는 상기 트리 구조의 서브 트리 부분들이며, 서브 트리의 부분들이 재사용되지 않는 경우에 비해 적은 개수의 확률들이 요구되도록 상기 제2 서브 트리 구조는 상기 제1 서브 트리 구조와 동일한 구조 및 그 노드들과 연관된 동일한 확률들을 가지고, 상기 확률들은 상기 중요도 맵의 노드가 중요할 가능성을 나타내는
    2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 장치.
  10. 2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 방법으로서,
    중요도 맵을 전하는 데이터의 2진 세트를 트리 구조를 이용하여 디코딩하는 단계를 포함하고,
    상기 디코딩하는 단계는 복수의 노드를 포함하는 상기 트리 구조의 서브 트리 부분을 반복적인 디코딩 과정에서 재이용하여 상기 2진 세트의 부분을 반복적으로 디코딩하며,
    제1 서브 트리 구조의 마지막 잎은 제2 서브 트리 구조의 루트와 같고, 상기 제1 서브 트리 구조 및 상기 제2 서브 트리 구조는 상기 중요도 맵을 전하는 상기 트리 구조의 서브 트리 부분들이며, 서브 트리의 부분들이 재사용되지 않는 경우에 비해 적은 개수의 확률들이 요구되도록 상기 제2 서브 트리 구조는 상기 제1 서브 트리 구조와 동일한 구조 및 그 노드들과 연관된 동일한 확률들을 가지고, 상기 확률들은 상기 중요도 맵의 노드가 중요할 가능성을 나타내는
    2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  11. 삭제
  12. 제10항에 있어서,
    상기 2진 세트는 변환 계수들의 중요도를 나타내고, 사전에 특정된 사이즈보다 큰 변환의 상기 변환 계수들의 중요도는 상기 사전에 특정된 사이즈보다 더 작은 변환들에 대응하는 트리 구조 부분들을 재이용하는(1710, 1715, 1720), 2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  13. 제9항에 있어서,
    상기 장치는 비디오 디코더에 포함되는(1315, 1320, 1500, 1510), 2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 장치.
  14. 제10항에 있어서,
    어느 트리 구조 부분들이 재이용될지에 대한 결정은 상기 2진 세트가 대응하는 콘텐츠의 성질들에 기초하는(1910, 1915, 1920, 1930), 2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  15. 제14항에 있어서,
    상기 결정을 내리기 위해 평가되는 상기 콘텐츠의 성질들은 계수 중요도 맵으로부터 도출되는(1910, 1915, 1920, 1930), 2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  16. 제14항에 있어서,
    상기 결정은 하나 이상의 유사성 메트릭에 기초하여 상기 성질들이 유사한지 여부에 기초하는(1910, 1915, 1920, 1930), 2진 세트들을 디코딩하기 위해 트리 구조들을 재이용하기 위한 방법.
  17. 2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한, 비디오 신호 데이터가 인코딩된 일시적이지 않은(non-transitory), 컴퓨터 판독가능한 저장 매체로서,
    트리 구조를 이용하여 인코딩된 중요도 맵을 전하는 데이터의 2진 세트를 포함하고,
    상기 2진 세트의 부분은 복수의 노드를 포함하는 상기 트리 구조의 서브 트리 부분을 반복적인 인코딩 과정에서 재이용하여 반복적으로 인코딩되며,
    제1 서브 트리 구조의 마지막 잎은 제2 서브 트리 구조의 루트와 같고, 상기 제1 서브 트리 구조 및 상기 제2 서브 트리 구조는 상기 중요도 맵을 전하는 상기 트리 구조의 서브 트리 부분들이며, 서브 트리의 부분들이 재사용되지 않는 경우에 비해 적은 개수의 확률들이 요구되도록 상기 제2 서브 트리 구조는 상기 제1 서브 트리 구조와 동일한 구조 및 그 노드들과 연관된 동일한 확률들을 가지고, 상기 확률들은 상기 중요도 맵의 노드가 중요할 가능성을 나타내는
    2진 세트들을 인코딩하기 위해 트리 구조들을 재이용하기 위한 컴퓨터 판독가능한 저장 매체.
KR1020127004232A 2009-08-20 2010-08-12 2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법 및 장치 KR101739603B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23544209P 2009-08-20 2009-08-20
US61/235,442 2009-08-20
PCT/US2010/002228 WO2011022043A1 (en) 2009-08-20 2010-08-12 Method and apparatus for reusing tree structures to encode and decode binary sets

Publications (2)

Publication Number Publication Date
KR20120065327A KR20120065327A (ko) 2012-06-20
KR101739603B1 true KR101739603B1 (ko) 2017-05-24

Family

ID=43313424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127004232A KR101739603B1 (ko) 2009-08-20 2010-08-12 2진 세트들을 인코딩 및 디코딩하기 위해 트리 구조들을 재이용하는 방법 및 장치

Country Status (6)

Country Link
US (1) US20120134426A1 (ko)
EP (1) EP2467829A1 (ko)
JP (2) JP6029979B2 (ko)
KR (1) KR101739603B1 (ko)
CN (1) CN102473315B (ko)
WO (1) WO2011022043A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634669B2 (en) 2011-01-13 2014-01-21 Sony Corporation Fast implementation of context selection of significance map
US20130121417A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
DE102014101307A1 (de) 2014-02-03 2015-08-06 Osram Opto Semiconductors Gmbh Kodierverfahren zur Datenkompression von Leistungsspektren eines optoelektronischen Bauteils und Dekodierverfahren
TWI761551B (zh) * 2017-07-13 2022-04-21 美商松下電器(美國)知識產權公司 編碼裝置、編碼方法、解碼裝置及解碼方法
US11601660B2 (en) * 2018-03-30 2023-03-07 Hulu, LLC Reuse of block tree pattern in video compression
CN111211787A (zh) * 2019-10-09 2020-05-29 华中科技大学 一种工业数据压缩方法、系统、存储介质及终端
CN110971973A (zh) * 2019-12-03 2020-04-07 北京奇艺世纪科技有限公司 一种视频推送方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1341126A2 (en) 1992-09-01 2003-09-03 Apple Computer, Inc. Image compression using a shared codebook
JP2008530829A (ja) * 2004-12-22 2008-08-07 株式会社エヌ・ティ・ティ・ドコモ 係数の位置をコード化する方法及び装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3302229B2 (ja) * 1994-09-20 2002-07-15 株式会社リコー 符号化方法、符号化/復号方法及び復号方法
US6549666B1 (en) * 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US6269192B1 (en) * 1997-07-11 2001-07-31 Sarnoff Corporation Apparatus and method for multiscale zerotree entropy encoding
US6801665B1 (en) * 1998-09-15 2004-10-05 University Of Maryland Method and apparatus for compressing and decompressing images
DE60024097D1 (de) * 1999-07-30 2005-12-22 Indinell S A Verfahren und vorrichtung zur verarbeitung von digitalen bildern und audiodaten
EP1279290A1 (en) * 2000-04-04 2003-01-29 Koninklijke Philips Electronics N.V. Video encoding method using a wavelet transform
US6782136B1 (en) * 2001-04-12 2004-08-24 Kt-Tech, Inc. Method and apparatus for encoding and decoding subband decompositions of signals
CN1255770C (zh) * 2003-06-30 2006-05-10 大唐微电子技术有限公司 基于数字信号处理器的层次树集合划分图像编解码方法
US7313563B2 (en) * 2003-07-30 2007-12-25 International Business Machines Corporation Method, system and recording medium for maintaining the order of nodes in a heirarchical document
CN1564604A (zh) * 2004-04-08 2005-01-12 复旦大学 基于树状结构的等级树集合划分视频图像压缩方法
CN1281065C (zh) * 2004-05-20 2006-10-18 复旦大学 基于树状结构的等级树集合划分视频图像压缩方法
US8356040B2 (en) * 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US20080103701A1 (en) * 2006-10-31 2008-05-01 Motorola, Inc. Automatic signal processor design software system
CN100527847C (zh) * 2007-03-16 2009-08-12 清华大学 基于零前缀码的变长码解码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1341126A2 (en) 1992-09-01 2003-09-03 Apple Computer, Inc. Image compression using a shared codebook
JP2008530829A (ja) * 2004-12-22 2008-08-07 株式会社エヌ・ティ・ティ・ドコモ 係数の位置をコード化する方法及び装置

Also Published As

Publication number Publication date
KR20120065327A (ko) 2012-06-20
WO2011022043A1 (en) 2011-02-24
CN102473315B (zh) 2016-08-03
JP6029979B2 (ja) 2016-11-24
JP2013502822A (ja) 2013-01-24
JP6509164B2 (ja) 2019-05-08
JP2016220239A (ja) 2016-12-22
EP2467829A1 (en) 2012-06-27
CN102473315A (zh) 2012-05-23
US20120134426A1 (en) 2012-05-31

Similar Documents

Publication Publication Date Title
US10917651B2 (en) Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection
JP7181126B2 (ja) 改善されたエントロピー符号化および復号を行う方法および装置
JP6509164B2 (ja) ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置
JP5733590B2 (ja) 変換係数レベルを符号化するコンテキストモデリング技法
JP2023058526A (ja) 統一された有意性マップ符号化方法および装置
CN107710759B (zh) 转换系数编解码的方法及装置

Legal Events

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