KR20230156810A - 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체 - Google Patents

픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체 Download PDF

Info

Publication number
KR20230156810A
KR20230156810A KR1020237038224A KR20237038224A KR20230156810A KR 20230156810 A KR20230156810 A KR 20230156810A KR 1020237038224 A KR1020237038224 A KR 1020237038224A KR 20237038224 A KR20237038224 A KR 20237038224A KR 20230156810 A KR20230156810 A KR 20230156810A
Authority
KR
South Korea
Prior art keywords
current block
offset
value
prediction
mip
Prior art date
Application number
KR1020237038224A
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 KR20230156810A publication Critical patent/KR20230156810A/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

본 출원의 실시예가 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장매체를 제공하는 바, 인코더는 현재 블록의 크기를 결정하며; MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록에 대하여 인코딩을 진행한다. 디코더가 비트 스트림을 해석하고, 현재 블록의 크기와 코딩 모드를 취득하며; 현재 블록의 코딩 모드가 MIP일 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록의 재구성 값을 결정한다.

Description

픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체{IMAGE CODING/DECODING METHOD, CODER, DECODER, AND STORAGE MEDIUM}
본 출원의 실시예가 비디오 인코딩/디코딩 기술 분야에 관한 것으로, 특히 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체에 관한 것이다.
다중 기능 비디오 코딩(Versatile Video Coding,VVC)의 참조 소프트웨어 테스트 플랫폼에서, 새로운 인트라 코딩 기술은, 매트릭스를 기반으로 한 인트라 예측(Matrix-based Intra Prediction,MIP)이 제시되고, MIP는 뉴럴 네트워크를 기반으로 한 인트라 예측 기술이고, 즉 다중 계층 뉴럴 네트워크를 이용하여 인접된 재구성된 휘도 블록을 기반으로 현재 블록의 휘도 값을 예측한다. 구체적으로, 전통 인트라 모드와 같고, MIP 모드를 이용하여 인트라 예측을 진행할 때, MIP가 예측한 입력도 현재 블록의 상측 일행과 죄측 일열의 인접된 휘도 블록의 데이터이고 출력이 현재 블록의 휘도 분량 제1 예측 값이다. 구체적인 예측 과정은 다운 샘플링, 매트릭스 벡터 곱셈과 보간 세 단계로 나눈다.
하지만, MIP 모드를 통하여 휘도 예측을 진행할 때, 사이즈 크기가 다른 휘도 블록이 이용하는 파라미터도 다를 수 있기 때문에, 비교적으로 큰 저장 공간을 차지하여 대량의 파라미터에 대하여 저장을 진행해야 하고, 또한 예측 과정에서 파라미터의 조회와 호출에 대해서도 전체적인 시간을 증가시켜, 인코딩/디코딩의 효율을 낮추게 한다.
본 출원의 실시예가 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체를 제공하는 바, 인코딩/디코딩 성능을 확보하는 기초 상에서, 인코딩/디코딩 과정에서 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 인코딩/디코딩의 효율을 향상시킬 수 있다.
본 출원의 실시예의 기술 방안은 다음과 같이 구현된 것이다.
본 출원의 실시예가 픽처 인코딩 방법을 제공하는 바, 인코더에 적용되고, 상기 방법에는,
현재 블록의 크기를 결정하며;
MIP 모드를 이용하여 상기 현재 블록에 대하여 인코딩을 진행할 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하며;
상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며;
상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며;
상기 제1 예측 값을 기반으로 상기 현재 블록에 대하여 인코딩을 진행하는 것이 포함된다.
본 출원의 실시예가 픽처 디코딩 방법을 제공하는 바, 디코더에 적용되고, 상기 방법에는,
비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하며;
상기 현재 블록의 코딩 모드가 MIP 모드일 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하며;
상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며;
상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며;
상기 제1 예측 값을 기반으로 상기 현재 블록의 재구성 값을 결정하는 것이 포함된다.
본 출원의 실시예가 인코더를 제공하는 바, 상기 인코더에는 제1 결정 부분, 제1 컴퓨팅 부분 및 인코딩 부분이 포함되는 바,
상기 제1 결정 부분은, 현재 블록의 크기를 결정하는 데 구성되며; 또한 MIP 모드를 이용하여 상기 현재 블록에 대하여 인코딩을 진행할 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하며;
상기 제1 컴퓨팅 부분은, 상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하는 데 구성되며;
상기 제1 결정 부분은, 또한 상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하는 데 구성되며;
상기 인코딩 부분은, 상기 제1 예측 값을 기반으로 상기 현재 블록에 대하여 인코딩을 진행하는 데 구성된다.
본 출원의 실시예가 디코더를 제공하는 바, 상기 디코더에는 해석 부분, 제2 결정 부분 및 제2 컴퓨팅 부분이 포함되는 바,
상기 해석 부분은, 비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하는 데 구성되며;
상기 제2 결정 부분은, 상기 현재 블록의 코딩 모드가 MIP 모드일 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하는 데 구성되며;
상기 제2 컴퓨팅 부분은, 상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하는 데 구성되며;
상기 제2 결정 부분은, 또한 상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며; 또한 상기 제1 예측 값을 기반으로 상기 현재 블록의 재구성 값을 결정하는 데 구성된다.
본 출원의 실시예가 인코더를 제공하는 바, 상기 인코더에는 제1 프로세서, 상기 제1 프로세서의 실행가능한 명령을 저장하는 제1 기억장치, 제1 통신 인터페이스, 및 상기 제1 프로세서, 상기 제1 기억장치, 상기 제1 통신 인터페이스를 연결하는 제1 버스가 포함되며, 상기 명령은 상기 제1 프로세서가 실행할 때, 위에 설명된 픽처 인코딩 방법을 구현한다.
본 출원의 실시예가 디코더를 제공하는 바, 상기 디코더에는 제2 프로세서, 상기 제2 프로세서의 실행가능한 명령을 저장하는 제2 기억장치, 제2 통신 인터페이스, 및 상기 제2 프로세서, 상기 제2 기억장치, 상기 제2 통신 인터페이스를 연결하는 제2 버스가 포함되며, 상기 명령은 상기 제2 프로세서가 실행할 때, 위에 설명된 픽처 디코딩 방법을 구현한다.
본 출원의 실시예가 컴퓨터 판독가능 저장 매체를 제공하는 바, 이에 프로그램을 저장하고 있어, 인코더와 디코더에 적용되며, 상기 프로그램은 프로세서가 실행할 때, 위에 설명된 픽처 인코딩/디코딩 방법을 구현한다.
본 출원의 실시예가 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장매체를 제공하는 바, 디코더는 현재 블록의 크기를 결정하며; MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록에 대하여 인코딩을 진행한다. 디코더가 비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하며; 현재 블록의 코딩 모드가 MIP모드일 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록의 재구성 값을 결정한다. 이로부터 알 수 있는 바와 같이, 본 출원이 제시하는 픽처 인코딩/디코딩 방법은, MIP 모드를 이용하여 인코딩/디코딩을 진행할 때, 현재 블록의 크기에 의하여 직접 현재 블록과 대응되는 제1 오프셋을 결정하고, 그 후 제1 오프셋을 이용하여 현재 블록에 대하여 인코딩/디코딩 처리를 진행할 수 있으며, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록의 크기에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 직접 MIP 블록 크기 인덱스 번호와 대응되는 제1 오프셋을 취득할 수 있어, 인코딩/디코딩 처리를 진행할 때, MIP 알고리즘의 복잡성을 낮추고, 인코딩/디코딩 성능을 확보하는 기초 상에서, 인코딩/디코딩 과정 중에 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 인코딩/디코딩의 효율을 향상시킬 수 있다.
도 1은 인트라 예측 중의 67 가지 예측 모드의 배치 도면이다.
도 2는 MIP 모드가 인코딩을 진행하는 흐름 도면이다.
도 3은 현재 블록의 상측 인접된 휘도 블록과 죄측 인접된 휘도 블록의 배치 도면이다.
도 4는 DM 모드를 결정하는 배치 도면이다.
도 5는 비디오 인코딩 시스템의 구조 도면이다.
도 6은 비디오 디코딩 시스템의 구조 도면이다.
도 7은 픽처 인코딩 방법의 구현 흐름 도면이다.
도 8은 픽처 디코딩 방법의 구현 흐름 도면이다.
도 9는 인코더의 구성 구조 도면1이다.
도 10은 인코더의 구성 구조 도면2이다.
도 11은 디코딩의 구성 구조 도면1이다.
도 12는 디코더의 구성 구조 도면2이다.
아래 본 출원의 실시예 중의 도면을 참조하여 본 출원의 실시예 중의 기술방안에 대하여 명확하고 완전한 설명을 진행하도록 한다. 여기에서 설명된 구체적인 실시예는 단지 관련된 출원을 설명하기 위한 것일 뿐, 해당 출원에 대하여 제한하는 것이 아님을 이해할 것이다. 또한 설명해야 할 바로는, 설명에 도움이 되기 위하여 도면 중에 단지 출원과 관련된 부분만 도시된다.
비디오 픽처에서, VVC는 연합 비디오 전문가 팀(Joint Video Experts Team,JVET)-N0217에 제시된 아핀 선의 가중 인트라 예측 기술(Affine Linear Weighted Intra Prediction)을 받아들이고, 또한 매트릭스를 기반으로 하는 인트라 예측, 즉 MIP 기술의 명칭으로 바꾸는 바, 해당 기술은 인트라 휘도 코딩 블록 크기의 다름에 대하여 인트라 휘도 예측 과정에서 서로 다른 수량의 매트릭스를 기반으로 하는 인트라 예측 모드를 증가시켰다.
자연 비디오에서 나타난 더욱 정교한 가장 자리 방향을 포착하기 위하여, VVC에서 비디오 압축 기준(High Efficiency Video Coding,HEVC)에 정의된 33 가지 인트라 휘도 예측 각도 모드를 65 가지로 확장하고, 도 1은 인트라예측 중의 67 가지 예측 모드의 배치 도면으로서, 도 1에 도시된 바와 같이, 화살표 번호가 2-66인 것은 65 가지 인트라 각도 예측 모드를 표시하고, 그 밖에는 또한 2 가지 비각도 모드가 있는 바, 즉 번호가 0인 그라디언트 플랫(Planar) 모드와 번호가 1인 직류 DC 모드이며; 그러므로, VVC 중의 인트라 예측 과정에 두 가지 비각도 모드와 65 가지 각도 모드가 포함되며, 여기에서, 67 가지 예측 모드가 인트라 예측의 전통 모드라고 한다.
MIP는 뉴럴 네트워크를 기반으로 한 인트라 예측 기술이고, 즉 다중 계층 뉴럴 네트워크를 이용하여 인접된 재구성된 픽셀을 기반으로 현재 블록의 휘도 값을 예측한다. 구체적으로, MIP 기술은 인트라 휘도 코딩 블록의 크기에 의하여 휘도 코딩 블록을 세 유형으로 나누고, 휘도 코딩 블록 크기를 W×H로 설치하며, 여기에서, W는 너비 파라미터이고, H는 높이 파라미터이며, 휘도 코딩 블록의 크기에 따라 휘도 코딩 블록을 3 유형으로 나눌 수 있으며;
크기는 4×4라는 휘도 코딩 블록은 제1 유형 휘도 블록이고, 크기는 8×4,4×8및 8×8이라는 휘도 코딩 블록은 제2 유형 휘도 블록이며, 기타 크기의 휘도 코딩 블록은 제3 유형의 휘도 블록도이다.
이 세 가지 유형의 인트라 휘도 코딩 블록에 대하여 MIP 기술은 67 가지 전통 인트라 예측 모드의 기초 상에서 M 가지 MIP 모드를 증기시키며, 여기에서, 제1 유형 휘도 블록에 대하여 M=35이고, 제2 유형 휘도 블록에 대하여 M=19이고, 제3 유형 휘도 블록에 대하여 M=11이다.
구체적으로 말하면, MIP 기술은 단지 인트라 휘도 예측에 적용되며, 전통 모드와 같아, MIP 예측의 입력도 현재 블록의 상측 일행과 죄측 일열의 데이터이고, 출력이 현재 블록의 예측 값이며, 구체적인 예측 과정은 평균, 매트릭스 벡터 곱셈과 보간 세 단계로 나눈다. 다시 말하면, 입력의 상측 일행과 좌측 일열 인접된 픽셀 점의 재구성 휘도 값에 대하여 이 세 단계 조작을 진행하면, 현재 블록의 위도 분량 예측 값을 취득할 수 있다.
도 2는 MIP 모드가 인코딩을 진행하는 흐름 도면으로서, 도 2에 도시된 바와 같이, MIP 모드가 휘도 예측을 진행하는 구체적인 구현은 다음과 같다.
제1 단계, 현재 블록의 상측 인접된 참조점에 대하여 가중평균을 진행하여 벡터 bdrytop를 취득하고, 총 N 개의 값이며; 현재 블록의 죄측 인접된 참조점에 대하여 가중평균을 진행하여 벡터 bdryleft를 취득하고, 총 N 개의 값이다. 현재 블록은 제1 유형의 휘도 인코딩일 때, N=2이며; 현재 블록은 제2 유형 또는 제3 유형 휘도 코딩 블록일 때, N=4이다. 벡터 bdrytop와 벡터 bdryleft는 하나의 새로운 벡터 bdryred로 형성하고 또한 후속 조작을 진행하며;
제2 단계, MIP 모드의 모드 번호 k를 통하여 대응되는 매트릭스 Ak와 오프셋 bk를 취득하고, 아래 공식(1)을 통하여 도 2에 도시된 교차선으로 표시한 현재 블록의 일부 예측 값을 컴퓨팅하고 취득한다.
(1)
제3 단계, 선의 보간을 통하여, 현재 블록 중 남은 예측 값(Predred)을 취득한다.
설명해야 할 바로는, 현재 블록이 인코딩을 진행하는 구현 과정에 대해서 인트라 예측이 구체적으로 어느 한 코딩 모드를 사용하는지 압축 비트 스트림에 기입되야 하고, 디코딩단이 해당 모드 정보를 해석하는 것을 통하여 구체적으로 어느 한 모드 즉 전통 모드인지 아니면 MIP 모드인지를 사용할지 결정할 수 있게 하며; 만일 전통 모드라면, 구체적으로 어느 한 전통 모드인지; 만일 MIP 모드라면, 구체적으로 어느 MIP 모드인지 결정한다.
VVC의 인트라 예측에서, 각 휘도 코딩 블록에 대하여 모두 67개 전통 모드와 M개 MIP 모드의 비트율 왜곡치(RDcost)의 비교를 진행하며, 67개의 전통 모드와 M개 MIP 모드에서 촤적화 모드를 선택하고 인코딩을 진행한다. 비트 오버헤드를 절약하기 위하여, VVC 중 가장 가능한 모드 리스트(Most Probable Modes List,MPM)의 인트라 모드 디코딩 기술을 사용한다.
주의해야 할 바로는, 다중 기준선 기술(extend reference line)과 인트라 서브 블록 구분 기술(Intra Sub-Patitionar,ISP)은 단지 MPM 리스트 중의 모드에 사용되기 때문에, extendrefflag와 ispflag는 모두 0이고, 즉 0 기준선을 사용하고 또한 서브 블록 구분을 진행하지 않을 때, mpmflag를 인코딩할 필요가 없고, 직접 촤적화 모드가 MPM 리스트에서의 위치를 인코딩한다.
나아가, MPM 리스트와 MIPMPM 리스트의 구조에 대하여 말하면, VVC 휘도 인트라 예측에서, 만일 현재 블록이 선택한 촤적화 모드는 전통 모드라면, 6개 가장 가능한 전통 모드를 포함하는 MPM 리스트를 구조해야 하며; 만일 현재 블록이 선택한 촤적화 모드는 MIP 모드라면, 3개 가장 가능한 MIP 모드를 포함하는 MIPMPM 리스트를 구조해야 한다.
도 3은 현재 블록의 상측 인접된 휘도 블록과 죄측 인접된 휘도 블록의 배치 도면으로서, 도 3에 도시된 바와 같이, 상술한 두 개의 리스트는 모두 도 3에 도시된 현재 블록의 위측 인접된 휘도 블록(A)과 죄측 인접된 휘도 블록(L)의 촤적화 모드에 의하여 유도된 것이다.
나아가, MIPMPM 리스트의 구조에 대하여 말하면, VVC 인트라 예측에서, 만일 현재 블록의 최적화 모드는 MIP 모드라면, MIPMPM 리스트를 구조해야 한다. MIPMPM 리스트를 구성하는 과정에서, 먼저 상측 인접된 휘도 블록의 촤적화 모드에 대응되는 MIP 모드 ABOVE_MIP와 좌측 인접된 휘도 블록의 촤적화 모드에 대응되는 MIP모드 LEFT_MIP 모드를 취득해야 한다.
나아가, LEFT_MIP와 ABOVE_MIP를 취득한 후, 아래와 같은 방법에 따라 3 개 가장 가능한 MIPMPM 모드가 포함된 MIPMPM 리스트의 구조를 진행하며, 여기에서, MIPMPM 중의 번호는 MIP 모드의 번호이고, 번호 번위는 0부터(M-1)까지이고, 제1 유형 휘도 블록에 대한 번호가 0-34이며; 제2 유형 휘도 블록에 대한 번호가 0-18이며; 제3 유형 휘도 블록에 대한 번호가 0-10이며;
만일 LEFT_MIP가 사용가능하면(-1이 아님), LEFT_MIP를 MIPMPMlist 중에 놓으며;
만일 ABOVE_MIP가 사용가능하면(-1이 아님), ABOVE_MIP를, 중복 검사를 진행한 후 MIPMPMlist 중에 놓으며;
만일 LEFT_MIP가 사용불가능하고(-1임), ABOVE_MIP가 사용불가능하면(-1임), 현재 블록의 유형에 의하여 기본 리스트를, 중복 검사를 진행한 후 MIPMPMlist를 가득하게 채울 때까지 놓으며;
제1 유형의 휘도 블록 기본 리스트는 {17,34,5}이며;
제2 유형의 휘도 블록 기본 리스트는 {0,7,16}이며;
제3 유형의 휘도 블록 기본 리스트는 {1,4,6}이다.
나아가, 보충해야 할 바로는, VVC의 채도 인트라 예측 과정 중에, 분량 간 관련성을 이용하는 직접 모도(Direct Mode,DM)가 존재하고, 현재 블록에 대응되는 병치된 휘도 코딩 블록의 중심 위치의 인트라 예측 모드를 이용하여 현재 채도 블록의 인트라 예측을 진행하며, 도 4는 DM 모드를 결정하는 배치 도면으로서, 도 4에 도시된 바와 같이, MIP 기술이 단지 휘도 코딩 블록에 적용되기 때문에, 도 4에 CR 위치의 인트라 예측 모드가 MIP 모드일 때, 해당 MIP 모드를 “MIP-전통 맵핑 리스트”를 통하여 전통 모드로 맵핑시키고, 현재 채도 블록의 인트라 예측을 진행하며, 표 1은 MIP-전통 맵핑 리스트이다.
다시 말하면, MIP 기술의 도입이기 때문에, 인트라 예측 과정에서, MIPMPM 리스트를 구성하는 중에서, 전통 모드를 MIP 모드로 맵핑시켜야 하고, MPM 리스트를 구성하고 DM 모드를 결정하는 중에서, MIP 모드를 전통 모드로 맵핑시켜야 한다.
그리고, MPM 리스트 구조 과정과 DM 모드의 취득 과정에서, MIP 모드부터 전통 모드까지의 맵핑을 이용해야 한다. 구체적으로 “MIP-전통 맵핑 리스트”를 통하여 35/19/11 가지 MIP 모드를 67 가지 전통 모드로 맵핑시킨다. 세 가지 유형의 휘도 블록에 대하여, 세 가지 “MIP-전통 맵핑 리스트”는 표 2, 표 3과 표 4에 도시된 바와 같다.
도 5는 비디오 인코딩 시스템의 구조 도면으로서, 도 5에 도시된 바와 같이, 해당 비디오 인코딩 시스템(100)에는 변환과 양자화 모듈(101), 인트라 추산 모듈(102), 인트라 예측 모듈(103), 운동 보상 모듈(104), 운동 추산 모듈(105), 역변환과 역양자화 모듈(106), 필터 제어 분석 모듈(107), 블록화 제거 필터링 및 샘플 대응형 오프셋(Sample Adaptive 0ffset,SAO) 필터링 모듈(108), 헤드 정보 인코딩 및 컨텍스트의 대응형 2진수 산술 인코딩(Context-based Adaptive Binary Arithmatic Coding,CABAC) 인코딩 모듈(109)과 디코딩 픽처 캐시 모듈(110) 등 부품이 포함되며; 도 6은 비디오 디코딩 시스템의 구조 도면으로서, 도 6에 도시된 바와 같이, 해당 비디오 디코딩 시스템(200)에는 헤드 정보 디코딩 및 CABAC 디코딩 모듈(201), 역변환과 역양자화 모듈(202), 인트라 예측 모듈(203), 운동 보상 모듈(204), 블록화 제거 필터링 및 SAO 필터링 모듈(205)과 디코딩 픽처 캐시 모듈(206) 등 부품이 포함된다. 비디오 픽처는 비디오 인코딩 시스템(100) 중 변환과 양자화 모듈(101), 인트라 추산 모듈(102), 인트라 예측 모듈(103), 운동 보상 모듈(104), 운동 추산 모듈(105), 블록화 제거 필터링 및 SAO 필터링 모듈(108) 및 헤드 정보 인코딩 및 CABAC 인코딩 모듈(109) 등 부분을 통하여 처리된 후, 해당 비디오 픽처의 비트 스트림을 출력하며; 해당 비트 스트림은 비디오 디코딩 시스템(200)에 입력되고, 비디오 디코딩 시스템(200) 중 헤드 정보 디코딩 및 CABAC 디코딩 모듈(201), 역변환과 역양자화 모듈(202), 인트라 예측 모듈(203) 및 운동 보상 모듈(204) 등 부분을 통하여 처리된 후, 최중적으로 원래의 비디오 픽처를 회복한다.
높이 파라미터와 너비 파라미터에 따라, 현재 블록은 25 가지 사이즈일 수 있으며, 구체적으로, 기준에서 휘도 블록이 가장 큰 것은 128×128이라고 규정하지만, 변환 유닛의 가장 큰 사이즈가 64×64이고, 다시 말하면, 휘도 블록은 128×128의 사이즈 하에서 반드시 사지 트리 구분을 진행해야 되기 때문에, 가장 큰 휘도 블록 사이즈가 64×64이다. 표 5는 휘도 블록의 사이즈 예시표로서, 표 5에 도시된 바와 같이,
종래 기술에서, 현재 블록의 높이 파라미터와 너비 파라미터에 의하여 MIP 모드에 대하여 제한을 진행하며, 구체적으로, 만일 현재 블록의 너비 대 높이의 비율이 4보다 크거나, 또는 높이 대 너비의 비율이 4보다 크면, MIP 모드를 통하여 현재 블록에 대하여 인코딩을 진행하지 않으며, 표 6은 종래 기술 중 MIP 모드 하에서 휘도 블록 사이즈의 제한이고, 표 6에 도시된 바와 같이,
종래 기술에서, MIP 모드의 제1 유형 휘도 블록 중 (4×4에 대응되는 휘도 블록), 상측 인접과 죄측 인접 휘도 블록은 각 2 개이고, 매트릭스 알고리즘을 통하여, 4×4의 예측 블록을 생성하며; MIP 모드의 제2 유형 휘도 블록 중 (4×8,8×4,8×8에 대응되는 휘도 블록), 상측 인접과 죄측 인접 휘도 블록은 각 4개이고, 매트릭스 알고리즘을 통하여, 4×4의 예측 블록을 생성하며; MIP 모드의 제3 유형 휘도 블록 중(기타 크기에 대응되는 휘도 블록), 상측 인접과 죄측 인접 휘도 블록은 각 4개이고, 매트릭스 알고리즘을 통하여, 4×8의 예측 블록(4×16의 휘도 블록), 8×4의 예측 블록(16×4의 휘도 블록) 또는 8×8의 예측 블록(기타 크기의 휘도 블록)을 생성한다. 여기에서, 제3 유형 휘도 블록이 비 정사각형 예측 블록을 생성할 것이기 때문에 컴퓨팅할 때 매트릭스에 대하여 홀수행 추출을 진행해야 한다.
나아가, 문법에서, MipSizeId를 통하여 MIP의 응용 카테고리를 표시할 수 있고, 즉 MipSizeId는 MIP 블록 크기 인덱스 번호이고, numModes는 MIP 모드의 수량을 표시하고,boundarySize는 다운 샘플링이 취득한 상측 참조행 또는 좌측 참조열의 휘도 개수를 표시하고, predW는 예측 블록의 너비 파라미터를 표시하고, predH는 예측 블록의 높이 파라미터를 표시하고, predC는 MIP의 매트릭스의 가장자리 길이를 표시한다. 표 7은 종래 기술 중 MIP 모드에 대응되는 문법 관계로서, 표 7에 도시된 바와 같이, 문법 중의 MipSizeId, numModes, boundarySize, predW, predH, predC는 다음과 같은 관계가 있다.
나아가, 문법에서, MIP 블록 크기 인덱스 번호 값이 0이라는 것은 4×4의 휘도 블록을 표시하고, 값이 1이라는 것은 4×8,8×4,8×8의 휘도 블록을 표시하고, 값이 2라는 것은 기타 크기의 휘도 블록을 표시한다. numModes는 모두 몇 가지 MIP 예측 모드가 있을지 표시하고, 즉 4×4의 휘도 블록은 모두 35 가지가 있고, 4×8,8×4,8×8의 휘도 블록은 모두 19 가지가 있고, 기타 크기의 휘도 블록은 모두 11 가지가 있다. boundarySize는 현재 블록 상측행 또는 좌측열의 인접된 휘도 블록이 최중적으로 2 개 또는 4 개 인접된 휘도 블록으로 다운 샘플링되는 것을 표시한다.
종래 기술에서, 인코더는 MIP 모드를 통하여 휘도 예측을 진행할 때, 다음과 같은 공식(2)을 통하여 진행할 수 있다.
(2)
여기에서, mWeight와 vBias는 각 MIP 모드가 딥러닝을 통하여 훈련된 가중 매트릭스와 바이어스 매트릭스이며, 구체적으로, mWeight는 각 유형의 MIP 모드의 가중 매트릭스이고, vBias는 각 유형의 MIP 모드의 바이어스 매트릭스이다. sB는 바이어스 매트릭스의 좌 이동량이고, oW는 반올림의 보류값이고, sW는 전체적인 예측 값의 우 이동량이고, 리스트를 조회하는 것을 통하여 서로 다른 MIP 모드 하의 sW 값을 취득해야 한다.
JVET-N1001-v7를 기반으로, MIP의 예측 매트릭스를 생성할 때, 인코더는 변수를 통하여 홀수행의 예측 값을 추출할지 판단하며, fO 변수는 mWeight가 빼야 하는 수치를 표시하며, 구체적으로,
(3)
(4)
(5)
만일 MipSizeId<2라면,
(6)
(7)
아니면
(8)
여기에서, 는 너비 파라미터 또는 높이 파라미터 상에서 추출을 진행해야 하는 것을 표시한다.
표 8은 종래 기술 중의 sW의 문법 설명으로서, 도 8에 도시된 바와 같이, MIP 모드 하에서 sW 값은 맵핑 관계이기 때문에 표 8을 통하여 모든 모듈 하의 sW 값을 취득할 수 있다.
표 9는 종래 기술 중의 fO의 문법 설명으로서, 표 9에 도시된 바와 같이, MIP 모드 예측 값의 컴퓨팅 과정에서, fO 변수는 mWeight가 빼야 하는 수치를 표시하고, 또한 리스트를 조회하는 것을 통하여 서로 다른 휘도 블록이 서로 다른 MIP 모드 하에서의 fO 값을 취득해야 한다. mWeight는 각 MIP 모드가 딥러닝을 통하여 휸련된 가중 매트릭스이다.
표 9 중 fO의 문법 설명에서 알 수 이는 바와 같이, fO의 값은 휘도 블록 크기와 모드 번호와 모두 관련된다.
표 9 중 fO의 값은 휘도 블록 사이즈와 모드 번호와 모두 관련되기 때문에, 다시 말하면, 서로 다른 MIP 모드 하 fO의 문법 설명은 서로 다르고, 인코더가 MIP 모드를 통하여 휘도 예측을 진행할 때, 서로 다른 MipSizeId 또는 서로 다른 MIP 모드 번호(modeId)의 현재 코딩 블록에 대하여 fO의 값은 서로 다를 수 있기 때문에, 알고리즘의 불통일을 초래할 수 있고, 또한 상술한 표 9를 조회하는 과정은 알고리즘의 시간 복잡성을 증가시키고, 표 9의 저장도 저장 공간을 차지해야 한다.
이로부터 알 수 있는 바와 같이, 종래 기술이 MIP 모드를 통하여 휘도 예측을 진행할 때, 사이즈가 서로 다른 휘도 블록이 이용하는 파라미터도 다를 수 있기 때문에, 비교적으로 큰 저장 공간을 차지하여 대량의 파라미터에 대하여 저장을 진행해야 하고, 또한 예측 과정에서 파라미터의 조회와 호출에 대해서도 전체적인 시간을 증가시켜, 인코딩/디코딩의 효율을 낮추게 한다.
상술한 문제를 해결하기 위하여, 본 출원은 픽처 인코딩 방법을 제공하는 바, 일 방면으로, 인코더가 사전 저장된 인덱스 번호와 오프셋에 대한 설정, 즉 MipSizeId와 fO의 대응 관계의 설정을 통하여, 인코딩할 때 현재 블록 fO의 값은 단지 현재 블록의 크기와 관련되는 것을 구현하여, MIP의 구현이 더욱 간략하고 통일하게 할 수 있으며; 다른 일 방면으로, MipSizeId와 fO의 대응 관계는 일차원 그룹 또는 유사한 기능을 갖는 데이터 구조를 이용하여 저장을 진행하고, 차원을 낮추고, fO 자체가 점용하는 저장 공간을 절약하며; 또 다른 일 방면으로, 인코더는 fO에 대하여 통일화된 수정 업데이트를 진행할 때, 또한 업데이트된 후의 fO를 이용하여 상응한 mWeight에 대하여 업데이트를 진행하여, 인코딩 성능의 낮춤을 피할 수 있다.
나아가, 본 출원이 제시한 픽처 인코딩 방법은, 비디오 인코딩 콤비네이션 프레임 중의 인트라 예측 부분에 영향을 미칠 수 있고, 즉 주로 비디오 인코딩 중의 인트라 예측 모듈(103)과 비디오 디코딩 중의 인트라 예측 모듈(203)에 적용되고, 인코딩단과 디코딩단에 대해여 동시적으로 작용된다.
아래 본 출원의 실시예 중의 도면을 참조하여 본 출원의 실시예 중의 기술방안에 대하여 명확하고 완전한 설명을 진행하도록 한다.
본 출원의 일 실시예에서, 도 7은 픽처 인코딩 방법의 구현 흐름 도면으로서, 도 7에 도시된 바와 같이, 본 출원의 실시예에서, 인코더가 픽처 인코딩을 진행하는 방법에는 다음과 같은 단계가 포함될 수 있다.
단계(701), 현재 블록의 크기를 결정한다.
본 출원의 실시예에서, 인코더가 먼저 현재 블록의 크기를 결정할 수 있어, 여기에서, 현재 블록은 인코딩하고자 하는 현재 코딩 블록일 수 있고, 다시 말하면, 인코더가 현재 블록에 대하여 인코딩을 진행하기 전에 먼저 현재 블록의 구체적인 사이즈 크기를 결정할 수 있다.
나아가, 본 출원의 실시예에서, 현재 블록은 인코딩하고자 하는 휘도 블록일 수 있다.
설명해야 할 바로는, 볼 출원의 실시예에서, 현재 블록의 높이 파라미터 H와 너비 파라미터 W에 따라, 현재 블록의 크기에 25 가지 사이즈가 포함될 수 있어, 구체적으로, 기준에서 현재 블록이 가장 큰 것은 128×128이라고 규정하지만, 변환 유닛의 가장 큰 사이즈가 64×64이고, 다시 말하면, 현재 블록은 128×128의 사이즈 하에서 반드시 먼저 사지 트리 구분을 진행해야 되기 때문에, 현재 블록의 가장 큰 사이즈가 64×64이다.
구체적으로, 상술한 표 5에 도시된 바와 같이, 현재 블록의 크기 (H×W)에는 (4×4), (4×8), (4×16), (4×32), (4×64), (8×4), (8×8), (8×16), (8×32), (8×64), (16×4), (16×8), (16×16), (16×32), (16×64), (32×4), (32×8), (32×16), (32×32), (32×64), (64×4), (64×8), (64×16), (64×32), (64×64) 이 25 가지가 포함될 수 있다.
단계(702), MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정한다.
본 출원의 실시예에서, 인코더가 MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 먼저 현재 블록의 크기에 의하여 현재 블록에 대응되는 제1 오프셋을 결정할 수 있다. 여기에서, 상술한 공식(2)을 기반으로, 현재 블록에 대응되는 제1 오프셋은 가중 매트릭스(mWeight)가 빼야 하는 수치를 표시하는 fO일 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 서로 다른 크기의 현재 블록에 대하여 인코더가 서로 다른 제1 오프셋을 설치하여 인코딩 처리를 진행할 수 있다. 구체적으로, 인코더는 먼저 현재 블록의 크기에 의하여 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정하고, 그 후 MIP 블록 크기 인덱스 번호에 의하여 진일보로 현재 블록에 대응되는 제1 오프셋을 결정할 수 있다.
나아가, 본 출원의 실시예에서, 현재 블록의 MIP 블록 크기 인덱스 번호는 현재 블록의 사이즈 크기에 의하여 결정된 MipSizeId이고, 현재 블록의 제1 오프셋은 현재 블록의 mWeight가 빼야 하는 파라미터를 표시하는 fO이다.
본 출원의 실시예에서, 인코더가 현재 블록의 크기에 의하여 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정할 때, 구체적으로 다음과 같은 단계를 기반으로 진행할 수 있다.
(1) 만일 현재 블록의 크기는 4×4라면, MipSizeId의 값은 0이며;
(2) 만일 현재 블록의 크기는 4×8, 8×4 또는 8×8이라면, MipSizeId의 값은 1이며;
(3) 만일 현재 블록의 크기는 기타 상황이라면, MipSizeId의 값은 2이다.
나아가, 본 출원의 실시예에서, 인코더는 MipSizeId와 fO의 대응 관계, 즉 인코더가 사전 저장된 인덱스 번호와 오프셋의 대응 관계를 먼저 설치할 수 있기 때문에, 인코더는 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록에 대응되는 제1 오프셋을 맵핑시키고 취득할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 사전 저장된 인덱스 번호와 오프셋의 대응 관계를 기반으로, 같은 MIP 블록 크기 인덱스 번호에 대하여, 대응되는 제1 오프셋도 같은 것이며, 다시 말하면, 본 출원의 실시예에서, 인코더가 MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 인코더가 직접 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 이용하고, 현재 블록에 대응되는 제1 오프셋을 결정하여, 진일보로 제1 오프셋을 이용하여 인코딩 처리를 진행할 수 있다.
본 출원의 실시예에서, 진일보로, MIP 모드에 따라 현재 블록에 대하여 인코딩을 진행하기 전, 인코더는 먼저 사전 저장된 인덱스 번호와 오프셋의 대응관계에 대하여 설정을 진행할 수 있다. 다시 말하면, 인코더가 먼저 서로 다른 MipSizeId에 대하여 서로 다른 fO를 설치해야 한다.
나아가, 본 출원의 실시예에서, 인코더가 사전 저장된 인덱스 번호와 오프셋의 대응관계에 대하여 설정을 진행할 때, 같은 MipSizeId의 휘도 블록에 대하여, 인코더는 이러한 휘도 블록에 대응되는 fO를 같은 수치로 설치할 수 있다. 다시 말하면, 본 출원에서, 인코더는 같은 MipSizeId를 갖는 휘도 블록에 대응되는 fO에 대하여 통일된 설치를 진행할 수 있다. 예를 들면, 표 10은 사전 저장된 인덱스 번호와 오프셋의 대응관계 1로서, 표 10에 도시된 바와 같이, 인코더가 직접 같은 MipSizeId에 대하여 같은 fO를 설치할 수 있어, 인코더가 현재 블록에 대하여 인코딩을 진행할 때, 직접 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호에 의하여 대응되는 제1 오프셋의 값을 결정할 수 있게 하며; 예를 들면, 만일 현재 블록의 크기는 4×4라면, 인코더가 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호 값이 0이라고 결정할 수 있고, 인코더가 표 10에 도시된 MipSizeId와 fO의 대응관계를 통하여 현재 블록에 대응되는 제1 오프셋이 66이라고 결정할 수 있다.
표 11은 사전 저장된 인덱스 번호와 오프셋의 대응관계 2로서, 표 11에 도시된 바와 같이, 인코더가 직접 같은 MipSizeId에 대하여 같은 fO를 설정할 수 있어, 인코더가 현재 블록에 대하여 인코딩을 진행할 때, 직접 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호에 의하여 대응되는 제1 오프셋의 값을 결정할 수 있게 하며, 예를 들면, 만일 현재 블록의 크기는 4×4라면, 인코더가 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호 값이 0이라고 결정할 수 있고, 인코더가 표 11에 도시된 MipSizeId와 fO의 대응관계를 통하여 현재 블록에 대응되는 제1 오프셋이 34라고 결정할 수 있다.
이로부터 알 수 있는 바와 같이, 본 출원 중의 상술한 표 10, 표 11은 상술한 표 9와 비교하여, 인코더가 현재 블록에 대응되는 제1 오프셋을 결정할 때, MipSizeId와 MIP 모드 번호(modeId) 두 개의 변수의 값에 의하여 현재 블록에 대응되는 제1 오프셋을 결정할 필요가 없고, 단지 MipSizeId 하나의 파라미터에만 의하여 현재 블록에 대응되는 제1 오프셋을 취득할 수 있어, 알고리즘의 복잡성을 낮추고, 동시에 상술한 표 9를 예로 든 fO를 저장하는 이차원 표의 저장 오버헤드를 절약할 수 있다.
나아가, 본 출원의 실시예에서, 인코더가 사전 저장된 인덱스 번호와 오프셋의 대응관계에 대하여 설정을 진행할 때, 먼저 원래의 fO의 문법 설명을 기반으로 동일한 MipSizeId의 서로 다른 MIP 모드 번호(modeId)에 대응되는 fO 중 수치가 가장 큰 fO를 결정하고, 그 후 해당 수치 가장 큰 fO를 해당 하나의 MipSizeId에 대응되는 제1 오프셋으로 결정할 수 있다. 예를 들면, 표 9에 도시된 원래의 fO의 문접 설명을 기반으로, MipSizeId가 0일 때, 수치가 가장 큰 fO는 모드 번호(modeId)가 15일 때의 66으로 결정할 수 있기 때문에, 인코더는 MipSizeId가 0인 모든 모드 번호(modeId)에 대응되는 fO를 모두 66으로 설정하고, 즉 MipSizeId가 0인 것과 fO가 66인 것의 대응관계를 구성하며; 상응하게, 표 9에 도시된 원래의 fO의 문법 설명을 기반으로, MipSizeId가 1일 때, 수치가 가장 큰 fO는 모드 번호(modeId)가 3일 때의 45로 결정할 수 있기 때문에, 인코더는 MipSizeId가 1인 모든 모드 번호(modeId)에 대응되는 fO를 모두 45로 설정하고, 즉 MipSizeId가 1인 것과 fO가 45인 것의 대응관계를 구성할 수 있으며; 상응하게, 표 9에 도시된 원래의 fO의 문법 설명을 기반으로, MipSizeId가 2일 때, 수치가 가장 큰 fO는 모드 번호(modeId)가 1일 때의 46으로 결정할 수 있기 때문에, 인코더는 MipSizeId가 2일 때의 모든 모드 번호(modeId)에 대응되는 fO를 모두 46으로 설정하고, 즉 MipSizeId가 2인 것과 fO는 46인 것의 대응관계를 구성할 수 있다. 즉 상술한 표 10을 취득한다.
구체적으로, 인코더가 상술한 표 10, 표 11을 이용하여 fO의 취득을 진행하기 전에, 동시에 현재 블록에 대응되는 MipSizeId와 modeId를 결정할 필요가 없고, 단지 현재 블록의 크기를 이용하여 MipSizeId를 결정하기만 하면 현재 블록에 대응되는 fO를 취득할 수 있다.
본 출원의 실시예에서, 상술한 표 10에 도시된 MipSizeId와 fO 간의 대응관계가 일차원 배열이기 때문에, 인코더가 일차원 그룹 또는 유사한 기능을 갖는 데이터 구조를 이용하여 MipSizeId와 fO 간의 대응되는 관계에 대하여 저장을 진행할 수 있으며, 상술한 표 9에 비교하면, 배열의 차원을 낮추고, 배열 자체가 점용하는 저장 공간을 절약하는 것을 이해할 것이다.
단계(703), 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅한다.
본 출원의 실시예에서, 인코더가 현재 블록의 크기에 의하여 제1 오프셋을 결정한 후, 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하고 측득할 수 있다. 여기에서, 제2 오프셋은 상술한 공식(2) 중의 oW일 수 있으며, 구체적으로, 제2 프로셋은 비트 시프트 조작을 제어하는 오프셋일 수 있으며, 예를 들면, 상술한 공식(2) 중의 oW는 반올림의 보류값이고, 상술한 공식(3)을 통하여 컴퓨팅하고 취득된다.
설명해야 할 바로는, 본 출원의 실시예에서, 인코더가 현재 블록의 크기에 의하여 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정하고, 또한 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로 현재 블록에 대응되는 제1 오프셋을 결정한 후, 상술한 공식(3)을 기반으로, 제1 오프셋을 이용하여 현재 블록에 대응되는 제2 오프셋을 컴퓨팅하고 취득할 수 있다. 구체적으로, 인코더가 제2 오프셋을 결정할 때, 또한 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 컴퓨팅을 진행해야 한다.
단계(704), 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정한다.
본 출원의 실시예에서, 인코더가 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 기반으로, 제2 오프셋을 결정한 후, 제2 오프셋에 의하여 현재 블록에 대응되는 제1 예측 값을 결정할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 인코더가 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정할 때, 먼저 제2 오프셋을 통하여 현재 블록 중의 사전 설정된 위치의 픽셀의 제2 예측 값을 컴퓨팅할 수 있으며; 그 후 제2 예측 값에 대하여 필터링 처리를 진행하여, 현재 블록 중의 전부 픽셀의 제1 예측 값을 취득할 수 있다.
나아가, 본 출원의 실시예에서, 사전 설정된 위치는 현재 블록 중의 특정 위치일 수 있으며, 구체적으로, 사전 설정된 위치는 현재 블록 중의 일부 픽셀의 특정 위치일 수 있다. 다시 말하면, 본 출원에서, 인코더가 제2 오프셋을 통하여 제2 예측 값을 컴퓨팅하는 것은, 현재 블록 중의 전부 픽셀의 예측 값이 아니고, 현재 블록 중의 일부 특정 위치 픽셀의 예측 값이다.
설명해야 할 바로는, 본 출원의 실시예에서, 인코더가 제2 오프셋을 통하여 현재 블록 중의 일부 특정 위치 픽셀의 제2 예측 값을 컴퓨팅하고 취득한 후, 제2 예측 값에 대하여 필터링 처리를 진행할 수 있어, 현재 블록 중의 전부 필터링의 예측 값, 즉 현재 블록에 대응되는 제1 예측 값을 취득할 수 있다.
본 출원의 실시예에서, 제2 오프셋은, 제2 예측 값을 컴퓨팅하는 과정에서, 비트 시프트 조작의 오프셋을 제어하는 데 이용될 수 있다.
단계(705), 제1 예측 값을 기반으로 현재 블록에 대하여 인코딩을 진행한다.
본 출원의 실시예에서, 인코더가 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정한 후, 제1 예측 값을 기반으로 현재 인코딩 블록에 대하여 인코딩 처리를 진행할 수 있어, 현재 블록에 대응되는 비트 스트림을 취득할 수 있다.
나아가, 본 출원의 실시예에서, 인코더가 제1 예측 값을 기반으로, 현재 블록에 대하여 인코딩을 진행할 때, 먼저 현재 블록의 오리지널 값과 제1 예측 값 간의 예측차를 컴퓨팅할 수 있고, 그 후 예측차 값에 대하여 인코딩을 진행할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 인코더가 현재 블록에 대하여 인코딩을 진행할 때, 직접 현재 블록의 제1 예측 값에 대하여 인코딩을 진행하는 것이 아니라, 제1 예측 값과 현재 블록에 대응되는 오리지널 값을 기반으로, 양자 간의 차이값, 즉 예측차를 결정하고, 그 후 예측차에 대하여 인코딩 처리를 진행하여, 효과적으로 인코딩/디코딩 효율을 향상시킬 수 있다.
본 출원의 실시예가 픽처 인코딩 방법을 제공하는 바, 인코더가 현재 블록의 크기를 결정하며; MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록에 대하여 인코딩을 진행한다. 이로부터 알 수 있는 바와 같이, 본 출원이 제시하는 픽처 인코딩 방법은, MIP 모드를 이용하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 직접 현재 블록과 대응되는 제1 오프셋을 결정할 수 있고, 그 후 제1 오프셋을 이용하여 현재 블록에 대하여 인코딩 처리를 진행할 수 있으며, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록의 크기에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 직접 MIP 블록 크기 인덱스 번호와 대응되는 제1 오프셋을 취득할 수 있어, 인코딩 처리를 진행할 때, MIP 알고리즘의 복잡성을 낮추고, 인코딩 성능을 확보하는 기초 상에서, 인코딩 과정 중에 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 인코딩의 효율을 향상시킬 수 있다.
상술한 실시예를 기반으로, 본 출원의 또 다른 실시예에서, 인코더가 사전 저장된 인덱스 번호과 오프셋의 대응관계를 사전에 설치하기 때문에, 인코더가 현재 블록에 대하여 인코딩을 진행할 때, 단지 현재 블록의 크기에 의하여 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정하기만 하면, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 이용하여 상응한 제1 오프셋을 결정할 수 있어, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 인코더가 직접 MipSizeId에 의하여 fO의 값을 결정할 수 있고, MipSizeId와 modeId 두 개의 변수의 값에 의하여 fO 값을 결정할 필요가 없어, 알고리즘의 복잡성을 크게 낮추고, MipSizeId, modeId 및 fO 삼자의 대응관계를 저장하는 이차원 표의 저장 오버헤드를 절약한다.
다시 말하면, 종래 기술에서, 상술한 공식(2) 중의 fO는 mWeight가 빼야 하는 수치를 표시하고, 또한 상술한 표9에 도시된 MipSizeId, modeId 및 fO 삼자의 대응관계를 조회해야 만이 현재 블록의 fO 값을 취득할 수 있는 것으로 알 수 있는 바와 같이, fO의 값과 현재 블록의 크기와 모드 번호가 도무 관련되고, 이로 인해 알고리즘의 불통일을 초래하고, 동시에 상술한 표 9의 MipSizeId, modeId 및 fO 삼자의 대응관계의 저장도 비교적으로 많은 저장 공간을 점용해야 한다. 비교하면, 본 출원에서 단지 MipSizeId와 fO의 대응관계를 저장하면 되고, 또한 같은 MipSizeId에 대하여, modeId가 다르더라도, 대응되는 fO의 값도 같은 것이기 때문에, 저장 공간을 절약하고, 동시에 또한 알고리즘의 복잡도를 낮춘다.
구체적으로, 본 출원의 실시예에서, 문법 상에서, 본 출원은 MIP의 예측 컴퓨팅 과정의 문법을 간략화하고, 같은 MipSizeId의 fO에 대하여 동일화 수정을 진행하며, 즉 단지 현재 블록의 크기에만 의하여 대응되는 fO를 결정할 수 있다.
본 출원의 실시예에서, 나아가, 인코더가 MIP의 예측 컴퓨팅 과정의 문법을 간략화할 때, 또한 직접 서로 다른 MipSizeId, 서로 다른 modeId의 임의의 휘도 블록에 대응되는 fO를 같은 수치로 설치할 수 있으며, 다시 말하면, fO는 고정값이고, 휘도 블록의 크기와 fO의 관련성을 취소하고, 모든 상황 하의 fO를 모두 통일된 수치로 정의하고, 더 이상 fO와 관련된 표를 저장하지 않아, 진일보로 MIP 알고리즘의 복잡성을 낮추고, 알고리즘의 저장 공간을 감소하고, 또한 MIP 기술의 구현과 문법을 더욱 간략화하고 통일하게 할 수 있다.
본 출원의 실시예에서, 나아가, 인코딩 성능의 손실을 피하기 위하여, 인코더가 통일화하게 fO를 수정하는 동시에, 또한 mWeight의 값에 대하여 상응한 수정을 진행해야 한다. 구체적으로, 인코더가 사전 저장된 인덱스 번호와 오프셋의 대응관계를 설정한 후, 현재 블록에 대응되는 가중 매트릭스(mWeight) 중의 각 가중치에 대하여 대응 모드 하의 fO가 화대된 부분을 더하고, 즉 현재 블록의 mWeight에 대응되는 오리지널 mWeight 중의 각 오리지널 가중치에 대하여 업데이트된 후의 fO를 더할 수 있어, 인코딩 성능이 완전히 변화하지 않도록 유지하며, 다시 말하면, 인코더가 동시에 fO를 이용하고 mWeight에 대하여 상응한 업데이트를 진행할 수 있어, 저장 공간을 감소하고, 알고리즘 복잡도를 낮추는 동시에, 또한 인코딩 성능이 기본적으로 변화하지 않도록 유지하고, 동시에 예측 컴퓨팅 결과가 변화하지 않도록 유지할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 인코더가 fO를 이용하여 mWeight에 대하여 상응한 업데이트를 진행할 때, 만일 업데이트된 후의 mWeight 중에 사전 설정된 가중 역치보다 큰 가중치가 존재할 때, 해당 가중치를 사전 설정된 가중 역치보다 작거나 같은 것으로 설정할 수 있다. 예를 들면, 인코더가 사전 설정된 가중 역치를 7위 2진수의 상한치 127로 설정하고, 만일 업데이트된 후의 mWeight 중에 127보다 큰 가중치가 존재하면, 클램프의 방식을 통하여, 127보다 큰 가중치를 사전 설정된 가중 역치보다 작거나 같은 값, 예를 들면 127로 설정할 수 있다.
나아가, 본 출원의 실시예에서, 만일 업데이트된 후의 mWeight 중에 사전 설정된 가중 역치보다 큰 가중치가 나타나면, 또한 sW를 감소시키는 방식을 이용하여, 업데이트된 후의 mWeight 중의 전부 가중치를 사전 설정된 가중 역치의 범위 내에 유지하게 한다.
나아가, 본 출원의 실시예에서, 더욱 좋게 인코딩 성능을 유지하기 위하여, 또한 공식(9) 중에 도시된 의사 코드를 이용하여 파라미터의 값을 컴퓨팅할 수 있고, 즉 공식(9)을 이용하여 공식(6)을 대체하며, 공식(9)의 컴퓨팅 방법을 이용하면 MIP 매트릭스 중 데이터의 동적 범위를 축소시킬 수 있음을 이해할 것이며;
(9)
예시적으로, MipSizeId의 값이 0인 휘도 블록에 대하여, 통일화하게 fO를 수정하기 전, 초기의 fO의 문법 설명은 다음 표 12에 도시된 바와 같고, 서로 다른 MIP 모드 번호(modeId)에, fO의 값도 서로 다르다.
여기에서, modeId의 값이 1인 fO는 21이고, 대응되는 mWeight는 다음 표 13에 도시된 바와 같다.
상술한 표 12를 기반으로, modeId가 1일 때의 값은 21인 fO를 이용하여, modeId 값이 1일 때 대응되는 오리지널 mWeight를 취득할 수 있으며, 구체적으로, 상술한 표 13 중의 각 가중치에 대하여 21과 뺄셈 알고리즘을 진행할 수 있어, 대응되는 오리지널 mWeight를 취득할 수 있어, 다음 표 14에 도시된 바와 같다.
본 출원의 실시예에서, mWeight에 대응되는 오리지널 mWeight를 업데이트할 때, MIP 매트릭스 중 데이터의 동적 범위를 축소시키기 위하여, 인코더가 공식(9)을 이용하여 공식(6)을 대체한다.
구체적으로, MipSizeId의 값이 0과 1인 휘도 블록의 전부 MIP 모드 번호(modeId)에 대응되는 전부 오리지널 mWeight의 제1 열을 상반으로 취해야 한다. 예를 들면, 상술한 표 14을 기반으로, 제1 열 중의 가중치에 대하여 상반으로 취한 후, 초기 mWeight를 업데이트하는 것을 취득하며, 표 15에 도시된 바와 같다.
상술한 표 12 중 fO 수치가 가장 큰 것은 MIP 모드 번호(modeId)가 0인 34이기 때문에, 인코더가 fO에 대하여 통일화 수정을 진행할 때, 직접 MipSizeId가 0인 전부 휘도 블록에 대응되는 fO를 모두 34로 설치할 수 있어, 즉 업데이트된 후의 fO를 취득하는 문법 설명은 다음 표 16에 도시된 바와 같다.
아울러, 인코더는 값이 34인 fO를 이용하여 MIP 모드 번호(modeId)가 1인 휘도 블록의 초기 업데이트 mWeight에 대하여 계속하게 업데이트하고, 즉 상술한 표 15를 기반으로, 표 15 중의 각 가중치에 대하여 34를 더하고, 업데이트된 후의 mWeight를 취득할 수 있어, 표 17에 도시된 바와 같다.
이 과정에서, 만일 업데이트된 후의 mWeight 중에 사전 설정된 가중 역치보다 큰 가중치가 나타나면, 해당 가중치를 사전 설정된 가중 역치의 범위 내에 클램프할 수도 있고, 또한 sW를 감소시키는 방식을 이용하여 업데이트된 후의 mWeight 중의 전부 가중치를 사전 설정된 가중 역치의 범위 내에 유지하게 할 수도 있는 것을 이해할 것이다.
상술한 설명을 통하여, 본 출원에서, 일 방면으로, 인코더가 사전 저장된 인덱스 번호와 오프셋에 대한 설정, 즉 MipSizeId와 fO의 대응 관계의 설정을 통하여, 인코딩할 때 현재 블록 fO의 값은 단지 현재 블록의 크기와 관련되는 것을 구현할 수 있어, MIP의 구현을 더욱 간략하고 통일하게 할 수 있으며; 다른 일 방면으로, MipSizeId와 fO의 대응 관계는 일차원 그룹 또는 유사한 기능을 갖는 데이터 구조를 이용하여 저장을 진행하고, 차원을 낮추고, fO 자체가 점용하는 저장 공간을 절약할 수 있으며; 또 다른 일 방면으로, 인코더가 fO에 대하여 동일화된 수정 업데이트를 진행할 때, 또한 업데이트된 후의 fO를 이용하여 상응한 mWeight에 대하여 업데이트를 진행할 수 있어, 인코딩 성능의 낮춤을 피할 수 있다.
본 출원의 실시예가 픽처 인코딩 방법을 제공하는 바, 인코더가 현재 블록의 크기를 결정하며; MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록에 대하여 인코딩을 진행한다. 이로부터 알 수 있는 바와 같이, 본 출원이 제시하는 픽처 인코딩 방법은, MIP 모드를 이용하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 직접 현재 블록과 대응되는 제1 오프셋을 결정할 수 있고, 그 후 제1 오프셋을 이용하여 현재 블록에 대하여 인코딩 처리를 진행할 수 있으며, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록의 크기에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 직접 MIP 블록 크기 인덱스 번호와 대응되는 제1 오프셋을 취득할 수 있어, 인코딩 처리를 진행할 때, MIP 알고리즘의 복잡성을 낮추고, 인코딩 성능을 확보하는 기초 상에서, 인코딩 과정 중에 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 인코딩의 효율을 향상시킬 수 있다.
본 출원의 다른 일 실시예에서, 도 8은 픽처 디코딩 방법의 구현 흐름 도면으로서, 도 8에 도시된 바와 같이, 본 출원의 실시예에서, 디코더가 픽처 디코딩을 진행하는 방법에는 다음과 같은 단계가 포함될 수 있다.
단계(801), 비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득한다.
본 출원의 실시예에서, 디코더가 먼저 현재 블록의 크기와 코딩 모드를 결정할 수 있어, 여기에서, 현재 블록은 디코딩하고자 하는 현재 코딩 블록일 수 있어, 다시 말하면, 디코더가 현재 블록에 대하여 디코딩을 진행하기 전에 먼저 현재 블록의 구체적인 사이즈 크기와 인코딩 모드를 결정할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 현재 블록의 코딩 모드는 76 가지 전통 인트라 예측 모드 또는 MIP 모드일 수 있다.
나아가, 본 출원의 실시예에서, 현재 블록은 디코딩하고자 하는 휘도 블록일 수 있다.
설명해야 할 바로는, 볼 출원의 실시예에서, 현재 블록의 높이 파라미터 H와 너비 파라미터 W에 따라, 현재 블록의 크기에 25 가지 사이즈가 포함될 수 있으며, 구체적으로, 기준에서 현재 블록이 가장 큰 것은 128×128이라고 규정하지만, 변환 유닛의 가장 큰 사이즈가 64×64이고, 다시 말하면, 현재 블록은 128×128의 사이즈 하에서 반드시 먼저 사지 트리 구분을 진행해야 되기 때문에, 현재 블록의 가장 큰 사이즈가 64×64이다.
단계(802), 현재 블록의 코딩 모드는 MIP 모드일 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정한다.
본 출원의 실시예에서, 디코더는 현재 블록의 코딩 모드가 MIP 모드인 것을 결정한 후, 먼저 현재 블록의 크기에 의하여 현재 블록에 대응되는 제1 오프셋을 결정할 수 있다. 여기에서, 상술한 공식(2)을 기반으로, 현재 블록에 대응되는 제1 오프셋은 mWeight가 빼야 하는 수치를 표시하는 fO일 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 서로 다른 크기의 현재 블록에 대하여, 디코더가 서로 다른 제1 오프셋을 설치하고 디코딩 처리를 진행할 수 있다. 구체적으로, 디코더가 먼저 현재 블록의 크기에 의하여 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정하고, 그 후 MIP 블록 크기 인덱스 번호에 의하여 나아가 현재 블록에 대응되는 제1 오프셋을 결정할 수 있다.
나아가, 본 출원의 실시예에서, 현재 블록의 MIP 블록 크기 인덱스 번호는 현재 블록의 사이즈 크기에 의하여 결정된 MipSizeId이고, 현재 블록의 제1 오프셋은 바로 현재 블록의 mWeight가 빼야 하는 파라미터를 표시하는 fO이다.
본 출원의 실시예에서, 디코더가 현재 블록의 크기에 의하여 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정할 때, 구체적으로 다음과 같은 단계를 기반으로 진행할 수 있음을 이해할 것이다.
(1) 만일 현재 블록의 크기는 4×4라면, MipSizeId 값은 0이며;
(2) 만일 현재 블록의 크기는 4×8, 8×4 또는 8×8이라면, MipSizeId 값은 1이며;
(3) 만일 현재 블록의 크기는 기타 상황이라면, MipSizeId 값은 2이다.
나아가, 본 출원의 실시예에서, 디코더가 MipSizeId와 fO의 대응 관계를 사전 설치할 수 있어, 즉 디코더가 사전 저장된 인덱스 번호와 오프셋의 대응 관계를 설치할 수 있기 때문에, 디코더는 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록에 대응되는 제1 오프셋을 맵핑시키고 취득할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 사전 저장된 인덱스 번호와 오프셋의 대응 관계를 기반으로, 같은 MIP 블록 크기 인덱스 번호에 대하여, 대응되는 제1 오프셋도 같은 것이며, 다시 말하면, 본 출원의 실시예에서, 디코더가 MIP 모드를 이용하여 현재 블록에 대하여 디코딩을 진행할 때, 디코더는 직접 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 이용하고, 현재 블록에 대응되는 제1 오프셋을 결정할 수 있어, 진일보로 제1 오프셋을 이용하여 디코딩 처리를 진행할 수 있다.
본 출원의 실시예에서, 나아가, MIP 모드에 따라 현재 블록에 대하여 디코딩을 진행하기 전, 디코더가 먼저 사전 저장된 인덱스 번호와 오프셋의 대응관계에 대하여 설정을 진행할 수 있다. 다시 말하면, 디코더는 먼저 서로 다른 MipSizeId에 대하여 서로 다른 fO를 설치해야 한다.
나아가, 본 출원의 실시예에서, 디코더는 사전 저장된 인덱스 번호와 오프셋의 대응관계에 대하여 설정을 진행할 때, 같은 MipSizeId의 휘도 블록에 대하여, 디코더는 이러한 휘도 블록에 대응되는 fO를 같은 수치로 설치할 수 있다. 다시 말하면, 본 출원에서, 디코더가 같은 MipSizeId를 갖는 휘도 블록에 대응되는 fO에 대하여 통일화 설치를 진행할 수 있다. 예를 들면, 상술한 표 10에서, 만일 현재 블록의 크기는 4×4라면, 디코더는 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호가 0이라고 결정할 수 있어, 디코더는 표10에 도시된 MipSizeId와 fO의 대응 관계를 통하여, 현재 블록에 대응되는 제1 오프셋이 66이라고 결정할 수 있으며; 상술한 표 11에서, 만일 현재 블록의 크기는 4×4라면, 디코더는 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호 값이 0이라고 결정할 수 있어, 인코더가 표 11에 도시된 MipSizeId와 fO의 대응 관계를 통하여, 현재 블록에 대응되는 제1 오프셋이 34이라고 결정할 수 있다.
이로부터 알 수 있는 바와 같이, 본 출원 중의 상술한 표 10, 표 11과 상술한 표 9에 비교하여, 디코더가 현재 블록에 대응되는 제1 오프셋을 결정할 때, MipSizeId와 MIP 모드 번호(modeId) 두 개의 변수의 값에 의하여 현재 블록에 대응되는 제1 오프셋을 결정할 필요가 없고, 단지 MipSizeId 하나의 파라미터에만 의하여 현재 블록에 대응되는 제1 오프셋을 취득할 수 있어, 알고리즘의 복잡성을 낮추고, 동시에 상술한 표 9를 예로 든 fO를 저장하는 이차원 표의 저장 오버헤드를 절약할 수 있다.
나아가, 본 출원의 실시예에서, 디코더가 사전 저장된 인덱스 번호와 오프셋의 대응관계에 대하여 설정을 진행할 때, 원래의 fO의 문법 설명을 기반으로, 동일한 MipSizeId의 서로 다른 MIP 모드 번호(modeId)에 대응되는 fO 중 수치가 가장 큰 fO를 결정하고, 그 후 해당 수치가 가장 큰 fO를 해당 하나의 MipSizeId에 대응되는 제1 오프셋으로 결정할 수 있다. 예를 들면, 표 9에 도시된 원래의 fO의 문접 설명을 기반으로, MipSizeId가 0일 때, 수치가 가장 큰 fO는 모드 번호(modeId)가 15일 때의 66으로 결정할 수 있기 때문에, 디코더는 MipSizeId가 0인 모든 모드 번호(modeId)에 대응되는 fO를 모두 66으로 설정하고, 즉 MipSizeId가 0인 것과 fO가 66인 것의 대응관계를 구성할 수 있으며; 상응하게, 표 9에 도시된 원래의 fO의 문법 설명을 기반으로, MipSizeId가 1일 때, 수치가 가장 큰 fO는 모드 번호(modeId)가 3일 때의 45로 결정할 수 있기 때문에, 디코더는 MipSizeId가 1인 모든 모드 번호(modeId)에 대응되는 fO를 모두 45로 설정하고, 즉 MipSizeId가 1인 것과 fO가 45인 것의 대응관게를 구성하며; 상응하게, 표 9에 도시된 원래의 fO의 문법 설명을 기반으로, MipSizeId가 2일 때, 수치가 가장 큰 fO는 모드 번호(modeId)가 1일 때의 46으로 결정할 수 있기 때문에, 디코더는 MipSizeId가 2일 때의 모든 모드 번호(modeId)에 대응되는 fO를 모두 46으로 설정할 수 있고, 즉 MipSizeId가 2인 것과 fO가 46인 것의 대응관계를 구성한다. 즉 상술한 표 10을 취득한다.
구체적으로, 디코더가 상술한 표 10, 표 11을 이용하여 fO의 취득을 진행하기 전에, 동시에 현재 블록에 대응되는 MipSizeId와 modeId를 결정할 필요가 없고, 단지 현재 블록의 크기를 이용하여 MipSizeId를 결정하기만 하면 현재 블록에 대응되는 fO를 취득할 수 있다.
본 출원의 실시예에서, 상술한 표 10에 도시된 MipSizeId와 fO 간의 대응관계가 일차원 그룹이기 때문에, 디코더가 일차원 그룹 또는 유사한 기능을 갖는 데이터 구조를 이용하여 MipSizeId와 fO 간의 대응되는 관계에 대하여 저장을 진행할 수 있으며, 상술한 표 9에 비교하면, 배열의 차원을 낮추고, 배열 자체가 점용하는 저장 공간을 절약하는 것을 이해할 것이다.
단계(803), 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅한다.
본 출원의 실시예에서, 디코더가 현재 블록의 크기에 의하여 제1 오프셋을 결정한 후, 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하고 취득할 수 있다. 여기에서, 제2 오프셋은 상술한 공식(2) 중의 oW일 수 있으며, 구체적으로, 제2 프로셋은 비트 시프트 조작을 제어하는 오프셋일 수 있으며, 예를 들면, 상술한 공식(2) 중의 oW는 반올림의 보류값이고, 상술한 공식(3)을 통하여 컴퓨팅하고 취득될 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 디코더가 현재 블록의 크기에 의하여 현재 블록에 대응되는 MIP 블록 크기 인덱스 번호를 결정하고, 또한 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로 현재 블록에 대응되는 제1 오프셋을 결정한 후, 상술한 공식(3)을 기반으로, 제1 오프셋을 이용하여 현재 블록에 대응되는 제2 오프셋을 컴퓨팅하고 취득할 수 있다. 구체적으로, 디코더가 제2 오프셋을 결정할 때, 또한 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 컴퓨팅을 진행해야 한다.
단계(804), 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정한다.
본 출원의 실시예에서, 디코더가 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 기반으로, 제2 오프셋을 컴퓨팅한 후, 제2 오프셋에 의하여 현재 블록에 대응되는 제1 예측 값을 결정할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 디코더가 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정할 때, 먼저 제2 오프셋을 통하여 현재 블록 중의 사전 설정된 위치의 픽셀의 제2 예측 값을 컴퓨팅할 수 있으며; 그 후 제2 예측 값에 대하여 필터링 처리를 진행할 수 있어, 현재 블록 중의 전부 픽셀의 제1 예측 값을 취득할 수 있다.
나아가, 본 출원의 실시예에서, 사전 설정된 위치는 현재 블록 중의 특정 위치일 수 있어, 구체적으로, 사전 설정된 위치는 현재 블록 중의 일부 픽셀의 특정 위치일 수 있다. 다시 말하면, 본 출원에서, 디코더가 제2 오프셋을 통하여 제2 예측 값을 컴퓨팅하는 것은, 현재 블록 중의 전부 픽셀의 예측 값이 아니고, 현재 블록 중의 일부 특정 위치 픽셀의 예측 값이다.
설명해야 할 바로는, 본 출원의 실시예에서, 디코더가 제2 오프셋을 통하여 현재 블록 중의 일부 특정 위치 픽셀의 제2 예측 값을 취득한 후, 제2 예측 값에 대하여 필터링 처리를 진행할 수 있어, 현재 블록 중의 전부 픽셀의 예측 값, 즉 현재 블록에 대응되는 제1 예측 값을 취득할 수 있다.
본 출원의 실시예에서, 제2 오프셋은, 제2 예측 값을 컴퓨팅하는 과정에서, 비트 시프트 조작의 오프셋을 제어하는 데 이용될 수 있는 것을 이해할 것이다.
단계(805), 제1 예측 값을 기반으로 현재 블록에 대하여 디코딩을 진행한다.
본 출원의 실시예에서, 디코더가 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정한 후, 제1 예측 값을 기반으로 현재 디코딩 블록에 대하여 디코딩 처리를 진행할 수 있어, 현재 블록에 대응되는 비트 스트림을 취득할 수 있다.
나아가, 본 출원의 실시예에서, 디코더가 제1 예측 값을 기반으로, 현재 블록에 대하여 디코딩을 진행할 때, 먼저 현재 블록의 오리지널 값과 제1 예측 값 간의 예측차를 컴퓨팅할 수 있고, 그 후 예측차 값에 대하여 디코딩을 진행할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 디코더가 현재 블록에 대하여 디코딩을 진행할 때, 직접 현재 블록의 제1 예측 값에 대하여 디코딩을 진행하는 것이 아니라, 제1 예측 값과 현재 블록에 대응되는 오리지널 값을 기반으로, 양자 간의 차이값, 즉 예측차를 결정하고, 그 후 예측차에 대하여 디코딩 처리를 진행하여, 효과적으로 인코딩/디코딩 효율을 향상시킬 수 있다.
나아가, 본 출원의 실시예에서, 디코더가 제1 예측 값을 기반으로 현재 블록의 재구성 값을 결정하기 전, 먼저 비트 스트림을 디코딩하는 것을 통하여 현재 블록의 예측차를 취득할 수 있다.
상응하게, 본 출원의 실시예에서, 디코더가 현재 블록의 예측차를 결정하기 전, 또한 현재 블록의 제1 예측 값을 결정한 후, 직접 제1 예측 값과 예측차 간의 합계값을 컴퓨팅하고, 합계값을 현재 블록의 재구성 값으로 설정할 수 있다. 다시 말하면, 디코더가 제1 예측 값을 가반으로, 현재 블록의 재구성 값을 결정할 때, 제1 예측 값과 예측차에 대하여 더셈 알고리즘을 진행할 수 있어, 현재 블록의 재구성 값을 취득하고, 현재 블록의 디코딩 처리를 완성한다.
본 출원의 실시예가 픽처 디코딩 방법을 제공하는 바, 디코더가 비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하며; 현재 블록의 코딩 모드가 MIP모드일 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록의 재구성 값을 결정한다. 이로부터 알 수 있는 바와 같이, 본 출원이 제시하는 픽처 디코딩 방법은, MIP 모드를 이용하여 디코딩을 진행할 때, 현재 블록의 크기에 의하여 직접 현재 블록과 대응되는 제1 오프셋을 결정할 수 있고, 그 후 제1 오프셋을 이용하여 현재 블록에 대하여 디코딩 처리를 진행할 수 있으며, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록의 크기에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 직접 MIP 블록 크기 인덱스 번호와 대응되는 제1 오프셋을 취득할 수 있어, 디코딩 처리를 진행할 때, MIP 알고리즘의 복잡성을 낮추고, 디코딩 성능을 확보하는 기초 상에서, 디코딩 과정 중에 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 디코딩의 효율을 향상시킬 수 있다.
상술한 실시예를 기반으로, 본 출원의 실시예의 또 일 실시예에서, 도 9는 인코더의 구성 구조 도면1로서, 도 9에 도시된 바와 같이, 본 출원의 실시예가 제시하는 인코더(300)에 제1 결정 부분(301), 제1 컴퓨팅 부분(302) 및 인코딩 부분(303)가 포함될 수 있다.
상기 제1 결정 부분은, 현재 블록의 크기를 결정하며; 또한 MIP 모드를 이용하여 상기 현재 블록에 대하여 인코딩을 진행할 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하는 데 구성되며;
상기 제1 컴퓨팅 부분(302)은, 상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하는 데 구성되며;
상기 제1 결정 부분(301)은, 또한 상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하는 데 구성되며;
상기 인코딩 부분(303)은, 상기 제1 예측 값을 기반으로 상기 현재 블록에 대하여 인코딩을 진행하는 데 구성된다.
도 10은 인코더의 구성 구조 도면 2로서, 도 10에 도시된 바와 같이, 본 출원이 제시하는 인코더(300)에는 또한 제1 프로세서(304), 제1 프로세서(304) 실행가능한 명령을 저장하는 제1 기억장치(305), 제1 통신 인터페이스(306), 및 제1 프로세서(304), 제1 기억장치(305), 제1 통신 인터페이스(306)를 연결하는 제1 버스(307)가 포함될 수 있다.
나아가, 본 출원의 실시예에서, 상술한 제1 프로세서(304)는, 현재 블록의 크기를 결정하며; MIP 모드를 이용하여 상기 현재 블록에 대하여 인코딩을 진행할 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며; 상기 제1 예측 값을 기반으로 상기 현재 블록에 대하여 인코딩을 진행한다.
그리고, 본 실시예 중의 각 기능 모듈은 하나의 처리 유닛 중에 집적될 수도 있고, 또한 각 유닛의 독립적인 물리적 존재일 수 있고, 또한 두 개 또는 두 개 이상의 유닛이 하나의 유닛에 집적되어 있을 수 있다. 상술한 집적된 유닛은 하드웨어의 형식을 이용하여 구현될 수도 있고, 또한 소프트웨어 기능 모듈의 형식을 이용하여 구현될 수도 있다.
만일 집적된 유닛은 소프트웨어 기능 모듈의 형식으로 구현되고 또한 독립적인 제품으로 판매 또는 사용될 때, 하나의 컴퓨터 판독가능한 저장 매체에 저장할 수 있어, 이를 기반으로 본 출원의 실시예의 기술방안의 본질적이나 또는 종래 기술에 대하여 공헌이 있는 부분 또는 해당 기술방안의 전부 또는 일부는 소프트웨어 제품의 형식으로 구현될 수 있고, 해당 컴퓨터 소프트웨어 제품은 하나의 저장 매체에 저장될 수 있는 바, 일부 명령이 포함되어 한 컴퓨터 설비(개인용 컴퓨터, 서버 또는 네트워크 설비 등일 수 있음) 또는 processor(프로세서)로 하여금 본 출원의 각 실시예의 방법의 전부 또는 일부 단계를 구현하게 할 수 있다. 전술 저장 매체에는 USB 메모리, 이동 하드, 읽기전용 메모리(ReadOnly Memory, ROM), 무작위 접속 메모리(Random Access Memory, RAM), 자기 디스크 또는 광 디스크 등 여러 가지 프로그램 코드를 저장할 수 있는 매체가 포함된다.
본 출원의 실시예가 인코더를 제공하는 바, 해당 인코더는 현재 블록의 크기를 결정하며; MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록에 대하여 인코딩을 진행한다. 이로부터 알 수 있는 바와 같이, 본 출원이 제시하는 픽처 인코딩 방법은, MIP 모드를 이용하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 직접 현재 블록과 대응되는 제1 오프셋을 결정할 수 있고, 그 후 제1 오프셋을 이용하여 현재 블록에 대하여 인코딩 처리를 진행할 수 있으며, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록의 크기에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 직접 MIP 블록 크기 인덱스 번호와 대응되는 제1 오프셋을 취득할 수 있어, 인코딩 처리를 진행할 때, MIP 알고리즘의 복잡성을 낮추고, 인코딩 성능을 확보하는 기초 상에서, 인코딩 과정 중에 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 인코딩의 효율을 향상시킬 수 있다.
상술한 실시예를 기반으로, 본 출원의 다른 일 실시예에서, 도 11은 디코딩의 구성 구조 도면 1로서, 도 11에 도시된 바와 같이, 본 출원의 실시예가 제시하는 디코더(400)에 해석 부분(401), 제2 결정 부분(402) 및 제2 컴퓨팅 부분(403)가 포함될 수 있다.
상기 해석 부분(401)은, 비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하는 데 구성되며;
상기 제2 결정 부분(402)은, 상기 현재 블록의 코딩 모드가 MIP 모드일 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하는 데 구성되며;
상기 제2 컴퓨팅 부분(403)은, 상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하는 데 구성되며;
상기 제2 결정 부분(402)은, 또한 상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며; 또한 상기 제1 예측 값을 기반으로 상기 현재 블록의 재구성 값을 결정하는 데 구성된다.
도 12는 디코더의 구성 구조 도면2로서, 도 12에 도시된 바와 같이, 본 출원이 제시하는 디코더(400)에는 또한 제2 프로세서(404), 제2 프로세서(404) 실행가능한 명령을 저장하는 제2 기억장치(405), 제2 통신 인터페이스(406), 및 제2 프로세서(404), 제2 기억장치(405), 제2 통신 인터페이스(406)를 연결하는 제2 버스(407)가 포함될 수 있다.
나아가, 본 출원의 실시예에서, 상술한 제2 프로세서(404)는, 비트 스트림을 디코딩하고 현재 블록의 크기와 코딩 모드를 취득하며; 상기 현재 블록의 코딩 모드가 MIP 모드일 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며; 상기 제1 예측 값을 기반으로 상기 현재 블록의 재구성 값을 결정한다.
그리고, 본 실시예 중의 각 기능 모듈은 하나의 처리 유닛 중에 집적될 수도 있고, 또한 각 유닛의 독립적인 물리적 존재일 수 있으며, 또한 두 개 또는 두 개 이상의 유닛이 하나의 유닛에 집적되어 있을 수 있다. 상술한 집적된 유닛은 하드웨어의 형식을 이용하여 구현될 수도 있고, 또한 소프트웨어 기능 모듈의 형식을 이용하여 구현될 수도 있다.
만일 집적된 유닛은 소프트웨어 기능 모듈의 형식으로 구현되고 또한 독립적인 제품으로 판매 또는 사용될 때, 하나의 컴뷰터 판독가능한 저장 매체에 저장할 수 있어, 이를 기반으로 본 출원의 실시예의 기술방안의 본질적이나 또는 종래 기술에 대하여 공헌이 있는 부분 또는 해당 기술방안의 일부는 소프트웨어 제품의 형식으로 구현될 수 있고, 해당 컴퓨터 소프트웨어 제품은 하나의 저장 매체에 저장될 수 있는 바, 일부 명령이 포함되어 한 컴퓨터 설비(개인용 컴퓨터, 서버 또는 네트워크 설비 등일 수 있음) 또는 processor(프로세서)로 하여금 본 출원의 각 실시예의 방법의 전부 또는 일부 단계를 구현하게 할 수 있다. 전술된 저장 매체에는 USB 메모리, 이동 하드, 읽기전용 메모리(ReadOnly Memory, ROM), 무작위 접속 메모리(Random Access Memory, RAM), 자기 디스크 또는 광 디스크 등 여러 가지 프로그램 코드를 저장할 수 있는 매체가 포함된다.
본 출원의 실시예가 디코더를 제공하는 바, 해당 디코더는 비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하며; 현재 블록의 코딩 모드가 MIP모드일 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록의 재구성 값을 결정한다. 이로부터 알 수 있는 바와 같이, 본 출원이 제시하는 픽처 디코딩 방법은, MIP 모드를 이용하여 디코딩을 진행할 때, 현재 블록의 크기에 의하여 직접 현재 블록과 대응되는 제1 오프셋을 결정할 수 있고, 그 후 제1 오프셋을 이용하여 현재 블록에 대하여 디코딩 처리를 진행할 수 있으며, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록의 크기에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 직접 MIP 블록 크기 인덱스 번호와 대응되는 제1 오프셋을 취득할 수 있어, 디코딩 처리를 진행할 때, MIP 알고리즘의 복잡성을 낮추고, 디코딩 성능을 확보하는 기초 상에서, 디코딩 과정 중에 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 디코딩의 효율을 향상시킬 수 있다.
본 출원의 실시예가 컴퓨터 판독가능 저장 매체를 제공하는 바, 이에 프로그램을 저장하고 있어, 해당 프로그램은 프로세서가 실행할 때, 위에 실시예가 설명한 방법을 구현한다.
구체적으로 말하면, 본 실시예 중의 일 픽처 인코딩 방법에 대응되는 프로그램 명령은 광 디스크, 하드웨어 디스크, U 디스크 등 저장 매체에 저장될 수 있어, 저장 매체 중의 일 픽처 인코딩 방법과 대응되는 프로그램 명령은 전자 장치가 읽거나 실행할 때, 다음과 같은 단계를 구현한다.
현재 블록의 크기를 결정하며;
MIP 모드를 이용하여 상기 현재 블록에 대하여 인코딩을 진행할 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하며;
상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며;
상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며;
상기 제1 예측 값을 기반으로 상기 현재 블록에 대하여 인코딩을 진행한다.
구체적으로 말하면, 본 실시예 중의 일 픽처 디코딩 방법에 대응되는 프로그램 명령은 광 디스크, 하드웨어 디스크, U 디스크 등 저장 매체에 저장될 수 있어, 저장 매체 중의 일 픽처 디코딩 방법과 대응되는 프로그램 명령은 전자 장치가 읽거나 실행될 때, 다음과 같은 단계를 구현한다.
비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하며;
상기 현재 블록의 코딩 모드는 MIP 모드일 때, 상기 현재 블록의 크기에 의하여 제1 오프셋을 결정하며;
상기 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며;
상기 제2 오프셋에 의하여 상기 현재 블록의 제1 예측 값을 결정하며;
상기 제1 예측 값을 기반으로 상기 현재 블록의 재구성 값을 결정한다.
당업계의 기술자들은 본 출원의 실시예가 제공할 수 있는 것은 방법, 시스템, 또는 컴퓨터 프로그램 제품이라고 이해할 것이다. 그로므로, 본 출원은 하드웨어 실시예, 소프트웨어 실시예, 또는 하드웨어와 소프트웨어 방면을 결합시킨 실시예의 형식을 이용할 수 있다. 그리고, 본 출원은 하나 또는 다수 개의 그 중에 컴퓨터 사용가능한 프로그램 코드가 포함되는 컴퓨터 사용가능한 저장 매체(자기 디스크 기억장치와 광학 기억장치가 포함되나 이에 제한되지 않음)에서 실시하는 컴퓨터 프로그램 제품의 형식을 이용할 수 있다.
본 출원은 본 출원의 실시예의 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 구현 흐름 예시도 및 블록도 중 적어도 하나에 의하여 설명한 것이다. 컴퓨터 프로그램 명령은 흐름 예시도 및 블록도 중 적어도 하나의 각 흐름 및 블록 중 적어도 하나를 구현할 수 있고, 및 흐름 예시도 및 블록도 중 적어도 하나의 흐름 및 블록 중 적어도 하나의 결합을 구현할 수 있음을 이해할 것이다. 이러한 컴퓨터 프로그램 명령을 범용 컴퓨터, 전용 컴퓨터, 삽입형 프로세서 또는 기타 프로그램 가능한 데이터 처리 장치의 프로세서에 제공하여 하나의 기계를 생성하여, 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치의 프로세서를 통하여 실행되는 명령이 흐름 예시도의 한 흐름 또는 다수 개의 흐름 및 블록도 중 적어도 하나의 하나의 블록 또는 다수 개의 블록 중의 지정된 기능을 구현하기 위한 장치를 생성할 수 있게 한다.
이러한 컴퓨터 프로그램 명령은 또한 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치를 유도하여 특정 방식으로 작동할 수 있는 컴퓨터 판독가능한 기억장치에 저장되어, 해당 컴퓨터 판독가능한 기억장치에 저장된 명령이 명령 장치를 포함하는 제조품을 생성하도록 하고, 해당 명령 장치는 흐름도의 한 흐름 또는 다수 개의 흐름 및 블록도 중 하나의 블록 또는 다수 개의 블록 중 적어도 하나 중의 지정된 기능을 구현할 수 있다.
이러한 컴퓨터 프로그램 명령은 또한 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치에 베어링되어, 컴퓨터 또는 기타 프로그램 가능한 장치 상에서 일련의 조작 단계를 실행하여 컴퓨터 구현가능한 처리를 생성하도록 하여, 컴퓨터 또는 기타 프로그램 가능한 장치 상에서 실행하되는 명령이 흐름도의 한 흐름 또는 다수 개의 흐름 및 블록도 중 하나의 블록 또는 다수 개의 블록 중 적어도 하나 중의 지정된 기능을 구현하는 단계를 제공하게 된다.
이상에서는 단지 본 출원의 바람직한 실시예일 뿐, 본 출원의 보호 범위에 대하여 제한하는 것이 아니다.
본 출원의 실시예가 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체를 제공하는 바, 인코더는 현재 블록의 크기를 결정하며; MIP 모드를 이용하여 현재 블록에 대하여 인코딩을 진행할 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록에 대하여 인코딩을 진행한다. 디코더가 비트 스트림을 디코딩하고, 현재 블록의 크기와 코딩 모드를 취득하며; 현재 블록의 코딩 모드가 MIP일 때, 현재 블록의 크기에 의하여 제1 오프셋을 결정하며; 제1 오프셋과 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 이용하여 제2 오프셋을 컴퓨팅하며; 제2 오프셋에 의하여 현재 블록의 제1 예측 값을 결정하며; 제1 예측 값을 기반으로 현재 블록의 재구성 값을 결정한다. 이로부터 알 수 있는 바와 같이, 본 출원이 제시하는 픽처 인코딩/디코딩 방법은, MIP 모드를 이용하여 인코딩/디코딩을 진행할 때, 현재 블록의 크기에 의하여 직접 현재 블록과 대응되는 제1 오프셋을 결정할 수 있고, 그 후 제1 오프셋을 이용하여 현재 블록에 대하여 인코딩/디코딩 처리를 진행할 수 있으며, 다시 말하면, 본 출원에서, 사전 저장된 인덱스 번호와 오프셋의 대응관계를 기반으로, 현재 블록의 크기에 대응되는 MIP 블록 크기 인덱스 번호를 결정한 후, 직접 MIP 블록 크기 인덱스 번호와 대응되는 제1 오프셋을 취득할 수 있어, 인코딩/디코딩 처리를 진행할 때, MIP 알고리즘의 복잡성을 낮추고, 인코딩/디코딩 성능을 확보하는 기초 상에서, 인코딩/디코딩 과정 중에 필요할 저장 공간과 전체적인 시간을 감소시켜, 효과적으로 인코딩/디코딩의 효율을 향상시킬 수 있다.

Claims (10)

  1. 픽처 인코딩 방법에 있어서, 인코더에 적용되고, 상기 방법에는,
    현재 블록의 크기를 결정하며;
    매트릭스를 기반으로 한 인트라 예측(MIP) 모드를 이용하여 상기 현재 블록에 대하여 인코딩을 진행할 때,
    상기 현재 블록의 크기, 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 기반으로 제2 오프셋을 컴퓨팅하며; 상기 제1 오프셋은 상수이며;
    상기 제2 오프셋을 이용하여 상기 현재 블록 중의 사전 설정된 위치의 픽셀의 제2 예측 값을 컴퓨팅하며; 상기 사전 설정된 위치는 상기 현재 블록 중의 특정 위치이며;
    상기 제2 예측 값에 대하여 선형 보간을 진행하고, 상기 현재 블록 중의 전부 픽셀의 상기 제1 예측 값을 취득하며;
    상기 현재 블록의 오리지널 값과 상기 제1 예측 값 간의 예측차를 컴퓨팅하며;
    상기 예측차 값에 대하여 인코딩을 진행하는 것이 포함되는 것을 특징으로 하는 픽처 인코딩 방법.
  2. 제1항에 있어서,
    상기 제2 오프셋은, 상기 제2 예측 값을 컴퓨팅하는 과정에서, 비트 시프트 조작 결과의 오프셋을 제어하는 데 이용되는 것을 특징으로 하는 픽처 인코딩 방법.
  3. 픽처 디코딩 방법에 있어서, 디코더에 적용되고, 상기 방법에는,
    비트 스트림을 디코딩하고, 현재 블록의 크기, 코딩 모드 및 예측차를 취득하며;
    상기 현재 블록의 코딩 모드가 매트릭스를 기반으로 한 인트라 예측(MIP) 모드일 때, 상기 현재 블록의 크기, 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 기반으로 제2 오프셋을 컴퓨팅하며; 상기 제1 오프셋은 상수이며;
    상기 제2 오프셋을 이용하여 상기 현재 블록의 사전 설정된 위치의 픽셀의 제2 예측 값을 컴퓨팅하며; 상기 사전 설정된 위치는 상기 현재 블록 중의 특정 위치이며;
    상기 제2 예측 값에 대하여 선형 보간을 진행하고, 상기 현재 블록 중의 전부 픽셀의 제1 예측 값을 취득하며;상기 제1 예측 값과 상기 예측차 간의 합계값을 컴퓨팅하고, 상기 합계값을 상기 현재 블록의 재구성 값으로 설정하는 것이 포함되는 것을 특징으로 하는 픽처 디코딩 방법.
  4. 제3항에 있어서,
    상기 제2 오프셋은, 상기 제2 예측 값을 컴퓨팅하는 과정에서, 비트 시프트 조작 결과의 오프셋을 제어하는 데 이용되는 것을 특징으로 하는 픽처 디코딩 방법.
  5. 인코더에 있어서, 상기 인코더에는, 제1 결정 부분, 제1 컴퓨팅 부분 및 인코딩 부분이 포함되는 바,
    상기 제1 결정 부분은, 현재 블록의 크기를 결정하는 데 구성되며;
    상기 제1 컴퓨팅 부분은, 매트릭스를 기반으로 한 인트라 예측(MIP) 모드를 이용하여 상기 현재 블록에 인코딩할 때, 상기 현재 블록의 크기, 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 기반으로 제2 오프셋을 컴퓨팅하는 데 구성되며; 상기 제1 오프셋은 상수이며;
    상기 제1 결정 부분은, 또한 상기 제2 오프셋을 이용하여 상기 현재 블록 중의 사전 설정된 위치의 픽셀의 제2 예측 값을 컴퓨팅하며; 상기 사전 설정된 위치는 상기 현재 블록 중의 특정 위치이며; 및 상기 제2 예측 값에 대하여 선형 보간을 진행하고, 상기 현재 블록 중의 전부 픽셀의 상기 제1 예측 값을 취득하는 데 구성되며;
    상기 인코딩 부분은, 상기 현재 블록의 오리지널 값과 상기 제1 예측 값 간의 예측차를 컴퓨팅하며; 및 상기 예측차 값에 대하여 인코딩을 진행하는 데 구성되는 것을 특징으로 하는 인코더.
  6. 제5항에 있어서, 상기 제2 오프셋은, 상기 제2 예측 값을 컴퓨팅하는 과정에서, 비트 시프트 조작 결과의 오프셋을 제어하는 데 이용되는 것을 특징으로 하는 인코더.
  7. 디코더에 있어서, 상기 디코더에는 해석 부분, 제2 결정 부분, 및 제2 컴퓨팅 부분이 포함되는 바,
    상기 해석 부분은, 비트 스트림을 디코딩하고, 현재 블록의 크기, 코딩 모드 및 예측차를 취득하는 데 구성되며;
    상기 제2 컴퓨팅 부분은, 현재 블록의 코딩 모드가 매트릭스를 기반으로 한 인트라 예측(MIP) 모드일 때, 상기 현재 블록의 크기, 제1 오프셋과 상기 현재 블록에 대응되는 인접된 픽셀의 재구성 값을 기반으로 제2 오프셋을 컴퓨팅하는 데 구성되며; 상기 제1 오프셋은 상수이며;
    상기 제2결정 부분은, 상기 제2 오프셋을 이용하여 상기 현재 블록의 사전 설정된 위치의 픽셀의 제2 예측 값을 컴퓨팅하며; 상기 사전 설정된 위치는 상기 현재 블록 중의 특정 위치이며; 및 상기 제2 예측 값에 대하여 선형 보간을 진행하고, 상기 현재 블록 중의 전부 픽셀의 상기 제1 예측 값을 취득하며; 및 상기 제1 예측 값과 상기 예측차 간의 합계값을 컴퓨팅하며; 및 상기 합계값을 상기 현재 블록의 재구성 값으로 설정하는 데 구성되는 것을 특징으로 하는 디코더.
  8. 제7항에 있어서, 상기 제2 오프셋은, 상기 제2 예측 값을 컴퓨팅하는 과정에서, 비트 시프트 조작 결과의 오프셋을 제어하는 데 이용되는 것을 특징으로 하는 디코더.
  9. 컴퓨터 판독가능한 저장 매체에 있어서, 이에 프로그램을 저장하고 있어, 인코더에 적용되며, 상기 프로그램이 프로세서에 의하여 실행될 때, 제1항 또는 제2항의 상기 방법을 구현하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
  10. 컴퓨터 판독가능한 저장 매체에 있어서, 이에 프로그램을 저장하고 있어, 디코더에 적용되며, 상기 프로그램이 프로세서에 의하여 실행될 때, 제3항 또는 제4항의 상기 방법을 구현하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
KR1020237038224A 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체 KR20230156810A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020217015292A KR102602418B1 (ko) 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체
PCT/CN2019/107612 WO2021056223A1 (zh) 2019-09-24 2019-09-24 图像编解码方法、编码器、解码器以及存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217015292A Division KR102602418B1 (ko) 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체

Publications (1)

Publication Number Publication Date
KR20230156810A true KR20230156810A (ko) 2023-11-14

Family

ID=75166224

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020237038239A KR20230157531A (ko) 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체
KR1020217015292A KR102602418B1 (ko) 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체
KR1020237038224A KR20230156810A (ko) 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020237038239A KR20230157531A (ko) 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체
KR1020217015292A KR102602418B1 (ko) 2019-09-24 2019-09-24 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체

Country Status (14)

Country Link
US (3) US11159814B2 (ko)
EP (1) EP3863287A4 (ko)
JP (1) JP7461353B2 (ko)
KR (3) KR20230157531A (ko)
CN (4) CN112840652A (ko)
AU (1) AU2019467372B2 (ko)
BR (1) BR112021008833A2 (ko)
CA (1) CA3116601C (ko)
IL (1) IL282280A (ko)
MX (1) MX2021005546A (ko)
PH (1) PH12021550833A1 (ko)
RU (1) RU2767188C1 (ko)
WO (1) WO2021056223A1 (ko)
ZA (1) ZA202102495B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210131395A (ko) * 2019-03-12 2021-11-02 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인트라 예측 방법 및 장치, 컴퓨터 판독가능 저장 매체
IL313127A (en) 2019-07-10 2024-07-01 Guangdong Oppo Mobile Telecommunications Corp Ltd Image component prediction method, encoder, decoder and storage medium
WO2021069688A1 (en) * 2019-10-11 2021-04-15 Interdigital Vc Holdings France, Sas Deep intra predictor generating side information

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259362A (ja) * 2010-06-11 2011-12-22 Sony Corp 画像処理装置および方法
RU2586029C1 (ru) * 2012-04-13 2016-06-10 Мицубиси Электрик Корпорейшн Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
US9918240B2 (en) * 2012-09-28 2018-03-13 Interdigital Patent Holdings, Inc. Wireless communication using multi-dimensional antenna configuration
WO2015056955A1 (ko) * 2013-10-14 2015-04-23 삼성전자 주식회사 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치
US10785475B2 (en) * 2014-11-05 2020-09-22 Mediatek Singapore Pte. Ltd. Method and apparatus of video coding with prediction offset
EP3286919A1 (en) * 2015-04-21 2018-02-28 VID SCALE, Inc. High dynamic range video coding
ES2737841B1 (es) * 2016-02-25 2021-07-27 Kt Corp Método y aparato para procesar señales de vídeo
KR20180136555A (ko) * 2016-06-03 2018-12-24 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
EP3301915A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
CA3227652A1 (en) * 2016-10-04 2018-04-12 Kt Corporation Method and apparatus for processing video signal
WO2018134362A1 (en) * 2017-01-19 2018-07-26 Telefonaktiebolaget Lm Ericsson (Publ) Filter apparatus and methods
EP3685577A4 (en) * 2017-10-12 2021-07-28 MediaTek Inc. METHOD AND DEVICE OF A NEURAL NETWORK FOR VIDEO ENCODING
KR20220045045A (ko) 2019-08-30 2022-04-12 알리바바 그룹 홀딩 리미티드 비디오 신호의 행렬 가중된 인트라 예측
US11184622B2 (en) 2019-09-18 2021-11-23 Sharp Kabushiki Kaisha Video decoding apparatus and video coding apparatus

Also Published As

Publication number Publication date
AU2019467372A1 (en) 2021-05-13
CN113905236A (zh) 2022-01-07
RU2767188C1 (ru) 2022-03-16
IL282280A (en) 2021-05-31
US20240107050A1 (en) 2024-03-28
EP3863287A4 (en) 2022-02-23
US20210400297A1 (en) 2021-12-23
WO2021056223A1 (zh) 2021-04-01
PH12021550833A1 (en) 2021-10-04
CN116634157A (zh) 2023-08-22
CA3116601C (en) 2023-01-03
EP3863287A1 (en) 2021-08-11
BR112021008833A2 (pt) 2022-04-12
KR20210078536A (ko) 2021-06-28
US20210235104A1 (en) 2021-07-29
CA3116601A1 (en) 2021-04-01
KR102602418B1 (ko) 2023-11-15
KR20230157531A (ko) 2023-11-16
MX2021005546A (es) 2021-06-23
AU2019467372B2 (en) 2022-05-19
US11159814B2 (en) 2021-10-26
CN113905236B (zh) 2023-03-28
JP2022511877A (ja) 2022-02-01
ZA202102495B (en) 2023-02-22
CN112840652A (zh) 2021-05-25
CN116347086A (zh) 2023-06-27
JP7461353B2 (ja) 2024-04-03
US11882304B2 (en) 2024-01-23

Similar Documents

Publication Publication Date Title
JP7448563B2 (ja) 画像コーデック方法、エンコーダ、デコーダおよび記憶媒体
KR102602418B1 (ko) 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체
JP2022537220A (ja) 符号化・復号化の方法、装置、および記憶媒体
CN114830663A (zh) 变换方法、编码器、解码器以及存储介质
JP2022544438A (ja) ループ内フィルタリングの方法及びループ内フィルタリングの装置
KR20210070368A (ko) 비디오 이미지 요소 예측 방법 및 장치, 컴퓨터 저장 매체
JP2022521366A (ja) イントラ予測方法、装置およびコンピュータ記憶媒体
KR20210108397A (ko) 예측 디코딩 방법, 장치 및 컴퓨터 저장 매체
RU2790323C2 (ru) Способ кодирования изображений, способ декодирования изображений, кодер, декодер и носитель данных
US20240333923A1 (en) Image encoding/decoding method using neural network-based in-loop filter, device, and recording medium storing bitstream
WO2024074129A1 (en) Method and apparatus of inheriting temporal neighbouring model parameters in video coding system
JP2022521128A (ja) 予測方向の決定方法、デコーダ及びコンピュータ記憶媒体
JP2022541115A (ja) 画像成分の予測方法、装置およびコンピュータ記憶媒体

Legal Events

Date Code Title Description
A107 Divisional application of patent