KR101060494B1 - 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치 - Google Patents

비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치 Download PDF

Info

Publication number
KR101060494B1
KR101060494B1 KR1020090019413A KR20090019413A KR101060494B1 KR 101060494 B1 KR101060494 B1 KR 101060494B1 KR 1020090019413 A KR1020090019413 A KR 1020090019413A KR 20090019413 A KR20090019413 A KR 20090019413A KR 101060494 B1 KR101060494 B1 KR 101060494B1
Authority
KR
South Korea
Prior art keywords
bitstream
decoding
macroblock
slice
frame
Prior art date
Application number
KR1020090019413A
Other languages
English (en)
Other versions
KR20100100493A (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 주식회사 코아로직
Priority to KR1020090019413A priority Critical patent/KR101060494B1/ko
Publication of KR20100100493A publication Critical patent/KR20100100493A/ko
Application granted granted Critical
Publication of KR101060494B1 publication Critical patent/KR101060494B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 FMO와 ASO로 인코딩된 H.264 비트스트림을 디코딩할 때 불연속적인 디코딩에 의해 발생하는 대량의 메모리 접근을 피하고, 또한, 매크로블록의 상태 변수들의 저장을 위한 메모리 소비를 제거할 수 있는 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치를 제공한다. 그 디코딩 장치는 하나의 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 생성시키는 구조체 생성부; 상기 프레임 내의 시퀀스 파라미터 셋(SPS: Sequence Parameter Set), 픽처 파라미터 셋(PPS: Picture Parameter Set) 및 상기 슬라이스들의 헤더의 정보를 이용하여 2차원의 슬라이스 그룹 맵을 구성하는 맵 구성부; 디코딩할 매크로블록(MB: Macroblock)이 상기 슬라이스들 중 어느 슬라이스에 속하는지 판단하여 상기 매크로블록이 속하는 상기 비트스트림 구조체를 선택하는 구조체 판단 선택부; 및 상기 구조체 판단 선택부의 선택에 따라, 상기 비트스트림 구조체를 전환하면서 상기 프레임 내의 매크로블록을 라스터-스캔(Raster-Scan) 순서로 디코딩하는 디코딩부;를 포함한다.
Raster-Scan, Macro Block, Slice, FMO: Flexible Macroblock Ordering, ASO: Arbitrary Slice Ordering

Description

비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치{Device and method for decoding bitstream and apparatus comprising the same device}
본 발명의 비트스트림 디코딩 장치 및 방법에 관한 것으로, 특히 FMO 방식, 및 ASO 방식으로 인코딩된 비트스트림을 디코딩하는 디코딩 장치 및 방법에 관한 것이다.
이동통신 단말기와 같은 모바일 기기의 경우에는 단순한 통신 수단의 한계를 벗어나서 모바일 멀티미디어 기기로서의 발전을 거듭하고 있는바, 협소한 무선 주파수 대역폭과 데이터의 저장용량에 대한 한계를 뛰어 넘어서 정상적인 멀티미디어 기기로서의 역할을 수행하기 위한 방편으로 멀티미디어 데이터의 압축 기술이 적용되고 있다.
이러한 모바일 기기에 적용되는 멀티미디어 데이터의 압축 기술로는 국제 전기통신 연합(ITU-T)에서 유무선 통신망 환경에서 동영상 서비스를 위한 표준 규격인 H.261과 H.263을 제정하였고, 세계표준화 기구(ISO)에서도 동영상 표준 규격인 MPEG-1, MPEG-2, MPEG-4를 마련하게 되었다. 또한, 무선 통신의 급격한 확산과 함 께 종전 압축 방식에 비해서 더욱 향상된 고효율의 압축 방식의 요구 및 다양한 통신 환경을 수용할 수 있는 동영상 압축 기술이 요구됨에 따라, 표준 동영상 압축 코덱으로서 H.264(MPEG 4 Part 10 AVC)가 제정되었다.
이러한 H.264는 국제 전기통신 연합(ITU-T)과 세계 표준화 기구(ISO)가 공동 제정한 차세대 동영상 압축 표준안으로서, 이는 다양한 네트워크 환경에 쉽게 부응할 수 있는 유연성과, 동영상 부호화 효율 면에서 MPEG 방식에 비해 많은 진보를 가져왔다. 즉, H.264는 향상된 움직임 예측 및 보상이 가능하고, 부정합(Mismatch)이 없는 작은 블록 크기의 블록 변환이 가능하며, 각 블록 사이의 노이즈 제거를 위한 인 루프 디블록 필터링(In-Loop Deblock Filtering)을 수행하며, 향상된 엔트로피 부호화가 가능하다는 이점이 있다.
한편, H.264 표준은, 효율적인 에러 은닉을 제공하기 위하여 FMO(Flexible Macroblock Ordering) 기능을 도입하고, 패킷 네트워크에서 전송 지연에 의해 슬라이스의 순서가 바뀌는 경우도 디코딩이 가능한 ASO(Arbitrary Slice Ordering) 기능을 도입하였다. 여기서, FMO는 16×16 픽셀로 구성된 매크로블록(MB: Macro Block)들이 픽처(picture) 내에서 라스터-스캔(Raster-Scan) 순서가 아닌 방식으로 배열된 것을 말하고, ASO는 슬라이스에 속한 첫 번째 매크로블록으로 슬라이스의 순서를 매길 때, 픽처 내에 슬라이스의 순서가 오름차순이 아닌 방식을 말한다.
H.264 표준에서, 하나의 픽처, 즉 프레임은 한 개 또는 여러 개의 슬라이스 그룹으로 나뉘고, 각 슬라이스 그룹은 다시 슬라이스로 나뉘며, 각 슬라이스는 다수의 매크로블록들로 구성되어 독립적으로 전송된다. 만약, 특정 슬라이스를 잃어 버린 경우, 다른 슬라이스에 속한 인접한 매크로블록을 사용함으로써 효과적인 에러 은닉을 수행할 수 있다.
종래 H.264 압축 비트스트림에서, 하나의 프레임의 디코딩 순서는 다음과 같다. 즉, 먼저 슬라이스 그룹 맵을 만든 후, 디코딩할 슬라이스의 비트스트림 구조체를 설정하고 슬라이스 헤더에 있는 시작할 매크로블록 인덱스를 정한다. 이후 슬라이스 내에서 라스터-스캔 순서로 매크로블록을 슬라이스 끝까지 디코딩한다. 다음 디코딩할 슬라이스에 대해서도 동일한 과정을 수행하고, 모든 슬라이스에 대한 디코딩 과정이 끝나면 한 프레임에 디코딩 과정이 종료된다.
이와 같이 종래의 H.264 압축 비트스트림은 슬라이스 단위로 독립적으로 전송되고 각 슬라이스 내에서는 라스터-스캔 순서로 매크로블록이 구성되나, 프레임에서 매크로블록은 불연속적으로 구성된다. 즉, 프레임 단위에서 디코딩되는 매크로블록은 라스터-스캔 순서가 아니다. 일반적인 경우에는 프레임 내에서도 매크로블록은 라스터-스캔 순서이지만, FMO로 인코딩된 비트스트림의 경우에는 임의의 모양의 슬라이스 그룹으로 구성될 수 있고, ASO로 구성된 경우, 슬라이스의 순서도 임의의 순서가 될 수 있다. 이러한 경우에 매크로블록은 불연속적인 매크로블록 순서로 저장되고 비트스트림의 저장 순서에 따라 불연속적인 매크로블록들은 불연속적으로 디코딩된다.
우수한 비디오 압축 알고리즘은 압축 성능을 향상시키기 위하여 인접한 매크로블록의 정보를 이용하며, 특히 H.264의 경우 화소 값의 공간적 유사성을 이용하기 위하여 인-루프 디블록 필터링(DF: Deblock Filtering)을 수행한다. 하지만, 종 래의 H.264 비트스트림의 디코딩 방법은 FMO와 ASO 기능을 갖는 비트스트림을 불연속적인 매크로블록 순서로 디코딩을 하기 때문에, 디블록 필터링을 프레임 단위로 수행할 수밖에 없고, 그에 따라 대량의 메모리 접근이 발생하여 디코더의 속도를 떨어뜨린다. 또한, 프레임 단위의 디블록 필터링을 위해 각 매크로블록의 상태 변수들을 저장하기 위한 메모리가 추가로 필요하게 된다.
본 발명이 해결하고자 하는 과제는 FMO와 ASO로 인코딩된 H.264 비트스트림을 디코딩할 때 불연속적인 디코딩에 의해 발생하는 대량의 메모리 접근을 피하고, 또한, 매크로블록의 상태 변수들의 저장을 위한 메모리 소비를 제거할 수 있는 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치를 제공하는 데에 있다.
상기 과제를 해결하기 위하여, 본 발명은 하나의 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 생성시키는 구조체 생성부; 상기 프레임 내의 시퀀스 파라미터 셋(SPS: Sequence Parameter Set), 픽처 파라미터 셋(PPS: Picture Parameter Set) 및 상기 슬라이스들의 헤더의 정보를 이용하여 2차원의 슬라이스 그룹 맵을 구성하는 맵 구성부; 디코딩할 매크로블록(MB: Macroblock)이 상기 슬라이스들 중 어느 슬라이스에 속하는지 판단하여 상기 매크로블록이 속하는 상기 비트스트림 구조체를 선택하는 구조체 판단 선택부; 및 상기 구조체 판단 선택부의 선택에 따라, 상기 비트스트림 구조체를 전환하면서 상기 프레임 내의 매크로블록을 라스터-스캔(Raster-Scan) 순서로 디코딩하는 디코딩부;를 포함하는 비트스트림 디코딩 장치를 제공한다.
본 발명에 있어서, 상기 비트스트림 디코딩 장치는 디코딩된 상기 매크로블록에 대하여 디블록 필터링(DF: Deblock Filtering)을 수행하는 디블록 필터를 더 포함할 수 있다.
본 발명은 또한, 상기 과제를 달성하기 위하여, 인코딩된 비트스트림을 프레임 단위로 수신하는 수신부; 하나의 프레임 내에 포함된 슬라이스들에 대한 비트스트림 구조체를 생성하고, 상기 비트스트림 구조체를 선택 및 전환하면서 상기 프레임 내의 매크로블록을 라스터-스캔 순서로 디코딩하는 비트스트림 디코딩 장치; 상기 비트스트림 디코딩 장치로부터 디코딩된 신호를 프레임 단위로 출력하는 출력부; 상기 비트스트림 디코딩을 위한 데이터를 저장하는 저장부; 및 상기 수신부, 디코딩 장치, 출력부 및 저장부를 제어하는 제어부;를 포함하는 멀티미디어 장치를 제공한다.
더 나아가 본 발명은 상기 과제를 달성하기 위하여, 하나의 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 생성시키는 단계; 상기 프레임 내의 SPS, PPS 및 상기 슬라이스들의 헤더의 정보를 이용하여 슬라이스 그룹 맵을 구성하는 단계; 디코딩할 매크로블록을 포함한 상기 슬라이스가 현재 슬라이스인지 판단하는 단계; 상기 현재 슬라이스의 비트스트림 구조체 내의 상기 매크로블록을 디코딩하는 단계; 디코딩된 상기 매크로블록이 상기 프레임의 마지막 매크로블록인지 판단하는 단계; 디코딩된 상기 매크로블록이 상기 프레임의 마지막 매크로블록인 경우, 상기 프레임의 디코딩을 종료하는 단계;를 포함하고, 상기 비트스트림 구조체를 전환하면서 상기 프레임 내의 매크로블록을 라스터-스캔(Raster-Scan) 순서로 디코딩하는 비트스트림 디코딩 방법을 제공한다.
본 발명에 있어서, 상기 디코딩하는 단계 전에, 상기 슬라이스가 상기 현재 슬라이스가 아닌 경우에, 상기 슬라이스를 상기 현재 슬라이스로 비트스트림 구조체 전환시키는 단계를 포함할 수 있다. 또한, 상기 현재 슬라이스인지 판단하는 단계 전에, 디코딩할 상기 매크로블록 및 상기 현재 슬라이스를 초기화하는 단계를 포함할 수 있으며, 상기 디코딩하는 단계 후에, 디코딩한 상기 매크로블록에 대하여 디블록 필터링을 수행하는 단계를 더 포함할 수 있다. 한편, 상기 마지막 매크로블록인지 판단하는 단계에서, 디코딩한 상기 매크로블록이 상기 프레임의 마지막 매크로블록인 아닌 경우, 디코딩할 상기 매크로블록의 인덱스를 증가시키고, 상기 현재 슬라이스인지 판단하는 단계로 이행할 수 있다.
본 발명에 따른 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치는 프레임 내에서 연속적인 라스터-스캔 순서로 매크로블록을 디코딩하기 때문에 매크로블록 단위의 디블록 필터링이 가능하다. 그에 따라, 종래 프레임 단위의 디블록 필터링로 인해 발생시키는 대량의 메모리 접근을 피할 수 있고, 또한, 매크로블록 단위로 디블록 필터링을 포함한 디코딩 과정을 완료할 수 있기 때문에 디코딩에 필요한 상태 변수들의 저장을 위한 메모리를 추가할 필요가 없다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이하의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소와 바로 연결될 수도 있지만, 그 사이에 제3의 구성 요소가 개재될 수도 있다. 또한, 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장되었고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
도 1은 라스터-스캔 순서를 설명하기 위한 개념도이다.
도 1을 참조하면, 일반적으로 디코딩은 16×16 픽셀로 구성된 매크로블록(MB: Macro Block) 단위로 이루어지게 되는데, 도시한 바와 같이 2차원적인 픽처(picture) 또는 프레임(F)이 다수의 매크로블록(MB: Macro Block)으로 구성될 때, 매크로 블록들을 디코딩을 위한 1차원으로 매핑할 때, 화살표로 표시된 것처럼 왼쪽에서 오른쪽으로, 그리고 위쪽에서 아래쪽으로 차례로 스캔하는 순서를 라스터-스캔(Raster-Scan) 방식이라고 한다.
일반적인 비트스트림의 경우에는 프레임 내에서 매크로블록이 라스터-스캔 순서로 배치되어 있기 때문에, 디코딩을 라스터-스캔 방식으로 수행하고, 그에 따라 디블록 필터링(DF: Deblock Filtering)을 매크로블록 단위로 수행하는 것이 가능하다. 그러나, H.264 비트스트림의 경우는 FMO와 ASO 기능을 채용하고 있기 때문에 프레임 내에서 매크로블록이 라스터-스캔 순서가 아니다. 그에 따라, 디코딩을 라스터-스캔 방식으로 수행할 수 없고 디블록 필터링도 매크로블록 단위가 아닌 프레임 단위로 수행해야 한다.
도 2는 H.264 비트스트림에서의 프레임의 구조를 설명하기 위한 구조도이다.
도 2를 참조하면, H.264 비트스트림은 도면에 표시된 바와 같이 하나의 프레 임(F) 내에 한 개 또는 여러 개의 슬라이스 그룹(SG1 ~ SG3)을 포함할 수 있고, 다시 슬라이스 그룹(SG2)은 몇 개의 슬라이스(S1, S2)를 포함할 수 있다. 또한, 슬라이스(S1)는 여러 개의 매크로블록(MB)을 포함할 수 있다. 한편, 각 슬라이스 그룹의 모양은 기존의 직사각형 모양, 체스판 모양, 또는 임의의 흩어진 모양 등 다양한 모양으로 설정될 수 있으며, 이러한 슬라이스 그룹 모양에 대한 정보는 프레임 내의 날(NAL: Network Abstraction Layer) 유닛부에 시퀀스 파라미터 셋(SPS: Sequence Parameter Set), 픽처 파라미터 셋(PPS: Picture Parameter Set)으로서 전송된다.
전술한 바와 같이 전송단위는 슬라이스 단위이므로 각 슬라이스는 독립적으로 전송된다. H.264 비트스트림 방식에서는 특정 슬라이스를 잃어버린 경우, 다른 슬라이스에 속한 인접한 매크로블록을 사용함으로써, 효과적인 에러 은닉을 수행하기 위해 FMO 및 ASO 기능을 채용하고 있다. 이러한 FMO 및 ASO 기능을 채용하고 있기 때문에 H.264 비트스트림에서는 하나의 프레임 내의 매크로블록들이 라스터-스캔 순서가 아닌 경우가 일반적이다.
즉, FMO로 인코딩된 비트스트림의 경우, 프레임이 임의의 모양의 슬라이스 그룹들로 구성되게 되며, ASO 기능을 채용한 경우 슬라이스의 순서도 임의적으로 될 수 있다. 그에 따라, 디코딩 시에 각 슬라이스에 대한 비트스트림 구조체를 생성하여 각 비트스트림 구조체에 대하여 라스터-스캔 순서로 디코딩을 수행하게 되지만, 전체 프레임 내에서는 라스터-스캔 순서가 아니게 된다. 그로 인해, 디블록 필터링은 매크로블록 단위가 아닌 프레임 단위로 수행하여야 하며, 프레임 단위의 디블록 필터링을 위해 대량의 메모리의 접근이 필요하며, 또한 각 매크로블록의 상태 변수들을 저장하기 위해 추가적인 메모리가 필요함을 전술한 바와 같다.
도 3은 본 발명의 일 실시예에 따른 멀티미디어 장치에 대한 블록 구조도이다.
도 3을 참조하면, 본 실시예에 따른 멀티미디어 장치는 비트스트림 디코딩 장치(100), 수신부(200), 출력부(300), 저장부(400) 및 제어부(500)를 포함한다.
비트스트림 디코딩 장치(100)는 하나의 프레임 내에 포함된 슬라이스들에 대한 비트스트림 구조체를 생성하고, 비트스트림 구조체를 선택 및 전환하면서 프레임 내에서 매크로블록을 라스터-스캔 순서로 디코딩한다. 따라서, 디블록 필터링을 매크로블록 단위로 수행할 수 있도록 하며, 그에 따라 대량의 메모리 접근이 불필요하다. 또한 디코딩된 각 매크로블록에 대한 상태 변수들을 저장할 추가적인 메모리의 소비도 줄일 수 있다. 비트스트림 디코딩 장치(100)에 대한 좀더 상세한 설명은 도 2에 대한 설명 부분에서 기술한다.
수신부(200)는 인코딩된 비트스트림을 프레임 단위로 수신하여 비트스트림 디코딩 장치(100)로 입력하는 기능을 하며, 출력부(300)는 비트스트림 디코딩 장치(100)를 통해 디코딩된 신호를 프레임 단위로 화면으로 출력하는 기능을 한다. 예컨대, 출력부(300)는 LCD 모니터가 될 수 있다.
저장부(400)는 디코딩을 위해 필요한 데이터들이 저장되는 대용량의 메모리장치로서, 종래의 경우, 비트스트림 디코딩 장치(100)가 프레임 단위로서 디블록 필터링을 수행함에 따라, 저장부(400)로의 접근이 많아 디코딩 속도가 느려지는 문 제가 있었지만, 본 실시예에서 비트스트림 디코딩 장치(100)는 디블록 필터링을 수행할 때, 내부의 임시 메모리를 이용하여 매크로 블록 단위로 수행하기 때문에 저장부(400)로의 접근이 불필요하다. 한편, 저장부(400)가 디코딩을 위한 데이터들을 저장하는 것으로 기술하였지만, 멀티미디어 장치의 다양한 기능을 수행하기 위한 다른 종류의 다양한 데이터들이 저장될 수 있음은 물론이다.
제어부(500)는 수신부(200), 비트스트림 디코딩 장치(100), 출력부(300) 및 저장부(400) 등의 멀티미디어 장치의 각 구성부분들을 전반적으로 제어하여 멀티미디어 장치가 다양한 기능을 원활하게 수행할 수 있도록 한다.
본 실시예의 멀티미디어 장치는 프레임 내에서 디코딩을 라스터-스캔 순서로 수행할 수 있는 비트스트림 디코딩 장치를 포함함으로써, 디코딩 시에 매크로블록 단위로 디블록 필터링을 수행할 수 있고, 그에 따라 대량의 메모리 접근이 불필요하며, 또한 추가적인 메모리의 소비도 줄일 수 있다. 따라서, 본 실시예의 멀티미디어 장치는 종래에 비해 디코딩의 속도를 현저하게 향상시킬 수 있다.
도 4는 도 3의 멀티미디어 장치의 비트스트림 디코딩 장치를 좀더 상세히 보여주는 블록 구조이다.
도 4를 참조하면, 본 실시예의 비트스트림 디코딩 장치(100)는 구조체 생성부(110), 맵 구성부(130), 구조체 판단 선택부(150), 디코딩부(170) 및 디블록 필터(190)를 포함한다.
구조체 생성부(110)는 하나의 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 생성시키는 기능을 한다. 비트스트림 구조체 는 도 6에 도시된 바와 같이 슬라이스 헤더와 매크로블록들로 구성되는데, 슬라이스 헤더에는 처음 시작되는 매크로블록의 인덱스가 저장되어 있다. 예컨대, 슬라이스 1의 경우는 0, 슬라이스 2의 경우는 13 등과 같이 시작 매크로블록에 대한 인덱스가 각 슬라이스 헤더에 저장되어 있다.
한편, 본 실시예의 구조체 생성부(110)는 각 슬라이스의 시작 위치에 대한 정보인 스타트 코드(start code)를 이용하여 비트스트림 구조체를 생성하게 되는데, 종래와 달리 모든 슬라이스에 대하여 한꺼번에 비트스트림 구조체를 생성한다. 즉, 종래에는 비트스트림 구조체를 디코딩을 수행할 슬라이스에 대하여 각각 생성하고, 하나의 슬라이스에 대하여 라스터-스캔 순서로 디코딩이 완료되면 다음 슬라이스에 대한 비트스트림 구조체를 생성하여 다시 디코딩을 수행하는 식으로 진행되었다. 그러나 본 실시예에서는 후술하는 바와 같이 비트스트림 구조체를 전환하면서 디코딩이 수행되기 때문에 모든 비트스트림 구조체가 미리 생성되게 된다.
맵 구성부(130)는 프레임 내의 날(NAL) 유닛부 및 각 슬라이스의 헤더 부분을 파싱하여, SPS, PPS 및 헤더의 정보를 이용하여, 도 7에 도시된 것과 같은 2차원의 슬라이스 그룹 맵을 구성한다.
구조체 판단 선택부(150)는 디코딩할 매크로블록이 프레임 내의 여러 슬라이스들 중 어느 슬라이스에 속하는지 판단하고, 매크로블록이 속하는 해당 슬라이스의 비트스트림 구조체를 선택하는 기능을 한다. 종래에는 하나의 슬라이스에 포함된 모든 매크로블록에 대하여 라스터-스캔 순서로 디코딩을 수행하기 때문에 슬라이스 내에 포함된 매크로블록들의 인덱스만 필요하였지만, 본 실시예에서는 프레임 단위에서 라스터-스캔 순서로 디코딩을 수행하기 위해, 비트스트림 구조체 자체를 전환하게 되며, 그에 따라 구조체 판단 선택부(150)가 디코딩할 매크로블록이 속한 슬라이스를 판단하여, 앞서 구조체 생성부(110)를 통해 생성된 다수의 슬라이스 비트스트림 구조체들 중 해당 비트스트림 구조체를 선택하게 된다.
결국, 구조체 판단 선택부(150)는 디코딩할 매크로블록이 디코딩되고 있는 슬라이스에 속한 경우에는 비트스트림 구조체의 전환을 수행하지 않으나, 디코딩할 매크로블록이 디코딩되고 있는 슬라이스에 속하지 않은 경우에는 디코딩할 매크로블록이 속하는 슬라이스의 비트스트림 구조체로 비트스트림 구조체를 전환시키는 기능을 수행한다.
디코딩부(170)는 구조체 판단 선택부(150)의 선택에 따라, 비트스트림 구조체를 전환하면서 매크로블록을 디코딩한다. 이와 같이 비트스트림 구조체를 전환하면서 매크로블록을 디코딩함으로써, 종래와 달리 프레임 내에서도 매크로블록을 라스터-스캔(Raster-Scan) 순서로 디코딩할 수 있게 된다.
디블록 필터(190)는 디코딩부(170)에서 디코딩된 각 매크로블록에 대하여 디블록 필터링을 수행한다. 즉, 디블록 필터(190)는 디코딩된 매크로블록에 대하여 매크로블록 단위로 디블록 필터링을 수행하기 때문에, 대량의 메모리 접근이 불필요하며, 또한, 디코딩된 매크로블록에 대한 상태 변수를 저장할 추가적인 메모리도 불필요하다. 한편, 디코딩 완료를 디블록 필터링까지를 포함한 개념으로 생각한 경우에, 종래의 경우는 프레임 단위로 디코딩이 완료되었지만 본 실시예의 비트스트림 디코딩 장치에서는 매크로블록 단위로 디코딩이 완료될 수 있게 된다.
본 실시예의 비트스트림 디코딩 장치는 비트스트림 구조체를 전환하는 방법을 채용함으로써, 프레임 내에서 매크로블록들을 라스터-스캔 순서로 디코딩할 수 있으며, 또한 매크로블록 단위로 디블록 필터링을 수행할 수 있어 매크로블록 단위로 디코딩을 완료할 수 있도록 한다. 그에 따라, 본 실시예의 비트스트림 디코딩 장치는 대량의 메모리 접근이나 추가적인 메모리의 소비가 불필요하여 매우 빠른 속도의 디코딩을 가능케 한다.
이하, 도 5 ~ 8에서는 본 실시예의 비트스트림 디코딩 장치(100)의 디코딩 과정의 이해를 돕기 위해 예시적인 H.264 비트스트림의 프레임의 구조를 들어 설명한다.
도 5는 슬라이스들로 구성된 프레임의 1차원적인 비트스트림 구조를 보여주는 구조도이다. 이해의 편의를 위해 도 3 및 4를 함께 참조하여 설명한다.
도 5를 참조하면, 수신부(200)를 통해 수신된 1차원적인 비트스트림은 하나의 픽처 단위인 프레임 단위로 구분할 수 있으며, 각 프레임은 몇 개의 슬라이스들로 구성될 수 있다. 본 실시예에서는 하나의 프레임이 5개의 슬라이스들로 구성되고 있음을 알 수 있다. 각 슬라이스들은 독립적으로 전송되며, 해당 매크로블록들을 포함하고 있다.
한편, 각 슬라이스는 전단부로 슬라이스 내에 포함된 매크로블록에 대한 정보를 저장한 슬라이스 헤더 부분을 포함한다. 한편, 도시되지는 않았지만 프레임은 슬라이스 부분 이외에 스타트 코드 및 날 유닛부를 포함할 수 있다. 정확히는 프레임은 후에 픽처를 구성할 슬라이스 부분만을 의미하고, 스타트 코드와 날 유닛부까 지를 포함한 경우에는 프레임 대신 액세스 유닛(Access Unit)이라고 부르기도 하지만 여기서는 편의상 프레임이라고 통칭한다.
도 6은 프레임 내의 슬라이스들의 각 비트스트림 구조체를 보여주는 구조도들이다. 이해의 편의를 위해 도 3 및 4를 함께 참조하여 설명한다.
도 6을 참조하면, 비트스트림 디코딩 장치(100)의 구조체 생성부(110)는 스타트 코드를 이용하여 하나의 프레임 내에 속하는 슬라이스들에 대한 각 비트스트림 구조체(S1 ~ S5)를 모두 생성한다. 예컨대, 슬라이스 1의 비트스트림 구조체(S1)는 전단부로 슬라이스 헤더를 포함하며, 후단부로 해당 매크로블록들을 포함한다. 도시된 바와 같이 비트스트림 구조체 내에서 매크로블록들의 인덱스는 연속적이지 않다. 따라서, 종래와 같이 슬라이스 내에서는 라스터-스캔 순서로 디코딩을 한 경우라도 프레임 내에서는 라스터-스캔 순서가 아니게 된다.
도 7은 프레임 내의 슬라이스들이 2차원적인 슬라이스 그룹 맵으로 구성된 모습을 보여주는 구조도이다. 이해의 편의를 위해 도 3 및 4를 함께 참조하여 설명한다.
도 7을 참조하면, 비트스트림 디코딩 장치(100)의 맵 구성부(130)는 날 유닛부와 각 슬라이스 헤더를 파싱하여 획득한 SPS, PPS 및 슬라이스들의 헤더 정보를 이용하여 2차원적인 슬라이스 그룹 맵을 구성한다. 구성된 2차원 슬라이스 그룹 맵 은 화면상에 출력될 하나의 픽처, 즉 프레임에 대응될 수 있고, 그에 따라 2차원 슬라이스 그룹 맵에서 매크로블록들은 라스터-스캔 순서로 배치된다. 그러나 각 슬라이스(S1 ~ S5)는 2차원 슬라이스 그룹 맵 내에서 임의적인 모양으로 배치되게 된 다.
도 8은 프레임 내의 매크로블록들이 라스터-스캔(Raster-Scan) 순서로 디코딩되는 모습을 보여주는 개념도이다. 이해의 편의를 위해 도 3 및 4를 함께 참조하여 설명한다.
도 8을 참조하면, 각 슬라이스들은 독립적으로 전송되며, 또한 각 슬라이스에 대하여 각각 비트스트림 구조체가 생성됨은 전술한 바와 같다. 본 실시예의 비트스트림 디코딩 장치(100)는 프레임 내에서 라스터-스캔 순서로 디코딩하기 위해서 비트스트림을 재구성하게 된다. 즉, 구조체 판단 선택부(150)가 매크로블록이 라스터-스캔 순서가 되도록 비트스트림 구조체를 전환함으로써 비트스트림을 재구성하게 된다. 도시된 바와 같이 슬라이스 1의 인덱스 12의 매크로블록 뒤로 비트스트림 구조체 전환(C1)을 통해 슬라이스 2의 비트스트림 구조체의 매크로블록들이 배치된다. 또한, 다시 인덱스 16의 매크로블록 뒤로 비트스트림 구조체 전환(C2)을 통해 슬라이스 1의 인덱스 17의 매크로블록이 배치된다. 이와 같은 식으로 구조체 판단 선택부(150)는 비트스트림 구조체를 전환하면서 매크로블록들이 프레임 내에서 라스터-스캔 순서, 즉 매크로블록들이 연속적인 인덱스를 가지도록 비트스트림을 재구성한다. 여기서, 이러한 비트스트림 구조체 전환은 각각의 매크로블록에 대한 디코딩이 수행되면서 순차적으로 수행된다. 이에 대해서는 도 9의 비트스트림 디코딩 방법에 대한 설명 부분에서 좀더 쉽게 이해될 수 있다.
그 후에 디코딩부(170)가 라스터-스캔 순서로 매크로블록들을 디코딩하며, 또한, 디코딩된 각 매크로블록에 대하여 디블록 필터(190)가 디블록 필터링을 수행 함으로써, 매크로블록 단위로 디코딩이 완료되게 된다.
도 9는 본 발명의 다른 실시예에 따른 비트스트림 디코딩 방법을 보여주는 흐름도이다. 이해의 편의를 위해 도 3을 함께 참조하여 설명한다.
도 9를 참조하면, 본 실시예의 비트스트림 디코딩 방법은 먼저 구조체 생성부(110)에서 한 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 모두 생성한다(S110). 구조체 생성부(110)는 프레임 내의 스타트 코드를 이용하여 비트스트림 구조체를 생성함은 전술한 바와 같다. 다음, 맵 구성부(130)가 프레임 내의 SPS, PPS 및 각 슬라이스의 헤더 정보를 이용하여 2차원의 슬라이스 그룹 맵을 구성한다(S120). 맵 구성부(130)는 프레임 내의 날 유닛부 및 슬라이스 헤더를 파싱하여 SPS, PPS 및 헤더 정보를 획득하고 그 정보를 이용하여 슬라이스 그룹 맵을 구성하게 된다.
슬라이스 그룹 맵이 구성된 후, 매크로블록(MB) 및 디코딩이 수행될 슬라이스를 초기화한다(S130). 매크로블록의 초기화는 매크로블록의 인덱스를 0으로 설정함으로써 이루어지며, 슬라이스에 대한 초기화는 매크로블록이 속하는 슬라이스를 현재 슬라이스로 설정함으로써 이루어진다. 여기서, 변수 MBNum은 매크로블록 인덱스를 의미하고, 변수 SlcNum(MBNum)은 해당 인덱스의 매크로블록이 속하는 슬라이스의 인덱스를 의미하며, CurSlcNum은 디코딩이 진행되는 현재 슬라이스의 인덱스를 의미한다. 이러한 매크로블록 및 슬라이스에 대한 초기화는 구조체 판단 선택부(150)에서 수행된다.
다음, 디코딩할 매크로블록을 포함한 슬라이스가 디코딩이 진행되고 있는 현 재 슬라이스인지 판단한다(S140). 최초의 매크로블록, 즉 인덱스가 0인 매크로블록의 경우는 초기화에 기인하여 그 매크로블록을 포함한 슬라이스는 당연히 현재 슬라이스임은 자명하다. 디코딩할 매크로블록을 포함한 슬라이스가 현재 슬라이스인 경우는 비트스트림 구조체의 전환없이 바로 디코딩 단계(S150)로 이행한다. 그러나 디코딩할 매크로블록을 포함한 슬라이스가 현재 슬라이스가 아닌 경우에는 해당 슬라이스를 현재 슬라이스로 비트스트림 구조체를 전환한 후에 디코딩 단계(S150)로 이행한다. 비트스트림 구조체 전환에 대해서는 도 8부분에서 설명하였으므로 좀더 자세한 설명은 생략한다. 한편, 현재 슬라이스 판단이나 비트스트림 구조체 전환 등의 기능은 구조체 판단 선택부(150)에서 수행된다.
현재 슬라이스 판단 단계(S140) 또는 비트스트림 전환 단계(S145) 이후에 디코딩부(170)에서 현재 슬라이스의 비트스트림 구조체의 해당 매크로블록을 디코딩한다(S150).
해당 매크로블록에 대한 디코딩이 수행된 후, 디블록 필터(190)에서 디코딩된 매크로블록에 대하여 디블록 필터링을 수행한다(S160). 디블록 필터링은 디코딩된 매크로블록 각각에 대하여 매크로블록 단위로 수행한다. 따라서, 대량의 메모리 접근이나 추가적인 메모리 사용이 불필요함은 전술한 바와 같다.
디블록 필터링에 의해 하나의 매크로블록에 대한 디코딩이 완료되면, 해당 매크로블록이 프레임 내에 마지막 매크로블록인지 판단한다(S170). 마지막 매크로블록인 경우에는 한 프레임에 대한 디코딩을 종료한다. 만약, 마지막 매크로블록이 아닌 경우에는 현재 슬라이스 판단 단계(S140)로 이행하여 디코딩을 수행할 다음 매크로블록들에 대하여 프레임 내의 마지막 매크로블록에 도달할 때까지 디코딩을 계속해서 수행한다.
지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 라스터-스캔 순서를 설명하기 위한 개념도이다.
도 2는 H.264 비트스트림에서의 프레임의 구조를 설명하기 위한 구조도이다.
도 3은 본 발명의 일 실시예에 따른 멀티미디어 장치에 대한 블록 구조도이다.
도 4는 도 3의 멀티미디어 장치의 비트스트림 디코딩 장치를 좀더 상세히 보여주는 블록 구조이다.
도 5는 슬라이스들로 구성된 프레임의 1차원적인 비트스트림 구조를 보여주는 구조도이다.
도 6은 프레임 내의 슬라이스들의 각 비트스트림 구조체를 보여주는 구조도들이다.
도 7은 프레임 내의 슬라이스들이 2차원적인 슬라이스 그룹 맵으로 구성된 모습을 보여주는 구조도이다.
도 8은 프레임 내의 매크로블록들이 라스터-스캔(Raster-Scan) 순서로 디코딩되는 모습을 보여주는 개념도이다.
도 9는 본 발명의 다른 실시예에 따른 비트스트림 디코딩 방법을 보여주는 흐름도이다.

Claims (20)

  1. 하나의 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 생성시키는 구조체 생성부;
    상기 프레임 내의 시퀀스 파라미터 셋(SPS: Sequence Parameter Set), 픽처 파라미터 셋(PPS: Picture Parameter Set) 및 상기 슬라이스들의 헤더의 정보를 이용하여 2차원의 슬라이스 그룹 맵을 구성하는 맵 구성부;
    디코딩할 매크로블록(MB: Macroblock)이 상기 슬라이스들 중 어느 슬라이스에 속하는지 판단하여 상기 매크로블록이 속하는 상기 비트스트림 구조체를 선택하고, 상기 선택에 따라 상기 비트스트림 구조체가 전환되도록 하는 구조체 판단 선택부;
    상기 구조체 판단 선택부의 선택에 따라, 상기 비트스트림 구조체가 전환되면서, 상기 프레임 내의 매크로블록을 라스터-스캔(Raster-Scan) 순서로 디코딩하는 디코딩부; 및
    디코딩된 상기 매크로블록에 대하여 디블록 필터링(DF: Deblock Filtering)을 수행하는 디블록 필터;를 포함하는 비트스트림 디코딩 장치.
  2. 제1 항에 있어서,
    상기 프레임 내에서 상기 매크로블록이 라스터-스캔 순서가 아닌 FMO(Flexible Macroblock Ordering) 방식, 및 상기 슬라이스들을 첫 번째 매크로블록으로 순서를 매길 경우 상기 슬라이스의 순서가 오름차순이 아닌 ASO(Arbitrary Slice Ordering) 방식에 의해 인코딩된 비트스트림을 디코딩하는 것을 특징으로 하는 비트스트림 디코딩 장치.
  3. 제1 항에 있어서,
    H.264 비트스트림을 디코딩하는 비트스트림 디코딩 장치.
  4. 삭제
  5. 제1 항에 있어서,
    상기 디블록 필터는 상기 디코딩부에서 디코딩된 상기 매크로블록에 대하여 매크로블록 단위로 상기 디블록 필터링을 수행하는 것을 특징으로 하는 비트스트림 디코딩 장치.
  6. 제1 항에 있어서,
    상기 디블록 필터는 상기 비트스트림 디코딩 장치 외부의 대용량 메모리에 액세스(access)하는 대신 내부 임시 메모리를 이용하여 상기 디블록 필터링을 수행하는 것을 특징으로 하는 비트스트림 디코딩 장치.
  7. 제1 항에 있어서,
    상기 구조체 생성부는 상기 프레임 내에 상기 슬라이스의 시작 위치에 대한 정보인 스타트 코드(start code)를 이용하여 상기 비트스트림 구조체를 생성하며,
    상기 맵 구성부는 상기 프레임 내의 날(NAL: Network Abstraction Layer) 유닛 및 상기 슬라이스의 헤더를 파싱하여 상기 SPS, PPS 및 상기 슬라이스들의 헤더의 정보를 획득하여 상기 슬라이스 그룹 맵을 구성하는 것을 특징으로 하는 비트스트림 디코딩 장치.
  8. 인코딩된 비트스트림을 프레임 단위로 수신하는 수신부;
    하나의 프레임 내에 포함된 슬라이스들에 대한 비트스트림 구조체를 생성하고, 상기 비트스트림 구조체를 선택 및 전환하면서 상기 프레임 내의 매크로블록을 라스터-스캔 순서로 디코딩하는 비트스트림 디코딩 장치;
    상기 비트스트림 디코딩 장치로부터 디코딩된 신호를 프레임 단위로 출력하는 출력부;
    상기 비트스트림 디코딩을 위한 데이터를 저장하는 저장부; 및
    상기 수신부, 디코딩 장치, 출력부 및 저장부를 제어하는 제어부;를 포함하고,
    상기 비트스트림 디코딩 장치는,
    디코딩된 상기 매크로블록에 대하여 디블록 필터링을 수행하는 디블록 필터를 포함하는 것을 특징으로 하는 멀티미디어 장치.
  9. 제8 항에 있어서,
    상기 비트스트림 디코딩 장치는 상기 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 생성시키는 구조체 생성부, 상기 프레임 내의 SPS, PPS 및 상기 슬라이스들의 헤더의 정보를 이용하여 슬라이스 그룹 맵을 구성하는 맵 구성부, 디코딩할 매크로블록(MB: Macroblock)이 상기 슬라이스들 중 어느 슬라이스에 속하는지 판단하여 상기 매크로블록이 속하는 상기 비트스트림 구조체를 선택하고, 상기 선택에 따라 구조체가 전환되도록 하는 구조체 판단 선택부, 및 상기 구조체 판단 선택부의 선택에 따라 상기 비트스트림 구조체가 전환되면서, 상기 프레임 내의 매크로블록을 라스터-스캔 순서로 디코딩하는 디코딩부를 포함하는 것을 특징으로 하는 멀티미디어 장치.
  10. 제9항에 있어서,
    상기 구조체 생성부는 NALU(Network Abstraction Layer Unit)의 시작위치 및 길이정보를 이용하여 상기 비트스트림 구조체를 생성하는 것을 특징으로 하는 멀티미디어 장치.
  11. 삭제
  12. 제8 항에 있어서,
    상기 비트스트림 디코딩 장치는 상기 프레임 내의 상기 매크로블록이 라스터-스캔 순서가 아닌 FMO 방식 및 상기 슬라이스들을 첫 번째 매크로블록으로 순서를 매길 경우 상기 슬라이스의 순서가 오름차순이 아닌 ASO 방식에 의해 인코딩된 비 트스트림, 또는 H.264 비트스트림을 디코딩하는 특징으로 하는 멀티미디어 장치.
  13. 하나의 프레임 내에 포함된 슬라이스들을 분석하여 각 슬라이스에 대한 비트스트림 구조체를 생성시키는 단계;
    상기 프레임 내의 SPS, PPS 및 상기 슬라이스들의 헤더의 정보를 이용하여 슬라이스 그룹 맵을 구성하는 단계;
    디코딩할 매크로블록을 포함한 상기 슬라이스가 현재 슬라이스인지 판단하는 단계;
    상기 현재 슬라이스의 비트스트림 구조체 내의 상기 매크로블록을 디코딩하는 단계;
    디코딩된 상기 매크로블록이 상기 프레임의 마지막 매크로블록인지 판단하는 단계; 및
    디코딩된 상기 매크로블록이 상기 프레임의 마지막 매크로블록인 경우, 상기 프레임의 디코딩을 종료하는 단계; 및
    디코딩한 상기 매크로블록에 대하여 디블록 필터링을 수행하는 단계;를 포함하고,
    상기 비트스트림 구조체를 전환하면서 상기 프레임 내의 매크로블록을 라스터-스캔(Raster-Scan) 순서로 디코딩하는 비트스트림 디코딩 방법.
  14. 제13 항에 있어서,
    상기 디코딩하는 단계 전에,
    상기 슬라이스가 상기 현재 슬라이스가 아닌 경우에,
    상기 슬라이스를 상기 현재 슬라이스로 비트스트림 구조체 전환시키는 단계를 포함하는 것을 특징으로 하는 비트스트림 디코딩 방법.
  15. 제13 항에 있어서,
    상기 현재 슬라이스인지 판단하는 단계 전에,
    디코딩할 상기 매크로블록 및 상기 현재 슬라이스를 초기화하는 단계를 포함하는 것을 특징으로 하는 비트스트림 디코딩 방법.
  16. 제15 항에 있어서,
    상기 마지막 매크로블록인지 판단하는 단계에서,
    디코딩한 상기 매크로블록이 상기 프레임의 마지막 매크로블록인 아닌 경우, 디코딩할 상기 매크로블록의 인덱스를 증가시키고, 상기 현재 슬라이스인지 판단하는 단계로 이행하는 것을 특징으로 하는 비트스트림 디코딩 방법.
  17. 삭제
  18. 제13 항에 있어서,
    상기 디블록 필터링은 비트스트림 디코딩 장치 외부의 대용량 메모리에 액세스(access)하는 대신 내부 임시 메모리를 이용하여 수행하는 것을 특징으로 하는 비트스트림 디코딩 방법.
  19. 제13 항에 있어서,
    상기 프레임 내에서 상기 매크로블록이 라스터-스캔 순서가 아닌 FMO 방식 및 상기 슬라이스들을 첫 번째 매크로블록으로 순서를 매길 경우 상기 슬라이스의 순서가 오름차순이 아닌 ASO 방식에 의해 인코딩된 비트스트림을 디코딩하는 것을 특징으로 하는 비트스트림 디코딩 방법.
  20. 제13 항에 있어서,
    H.264 비트스트림을 디코딩하는 것을 특징으로 하는 비트스트림 디코딩 방법.
KR1020090019413A 2009-03-06 2009-03-06 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치 KR101060494B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090019413A KR101060494B1 (ko) 2009-03-06 2009-03-06 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090019413A KR101060494B1 (ko) 2009-03-06 2009-03-06 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치

Publications (2)

Publication Number Publication Date
KR20100100493A KR20100100493A (ko) 2010-09-15
KR101060494B1 true KR101060494B1 (ko) 2011-08-30

Family

ID=43006565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090019413A KR101060494B1 (ko) 2009-03-06 2009-03-06 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치

Country Status (1)

Country Link
KR (1) KR101060494B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085422A (ko) 2020-12-15 2022-06-22 현대오토에버 주식회사 영상 데이터 전송 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101947513B1 (ko) * 2015-12-24 2019-02-13 연세대학교 산학협력단 오류 은닉을 이용한 비디오 코딩의 부호화 방법 및 복호화 방법
KR20200104252A (ko) 2019-02-26 2020-09-03 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080144A2 (en) * 2006-12-22 2008-07-03 Qualcomm Incorporated Techniques for content adaptive video frame slicing and non-uniform access unit coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080144A2 (en) * 2006-12-22 2008-07-03 Qualcomm Incorporated Techniques for content adaptive video frame slicing and non-uniform access unit coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085422A (ko) 2020-12-15 2022-06-22 현대오토에버 주식회사 영상 데이터 전송 방법 및 장치

Also Published As

Publication number Publication date
KR20100100493A (ko) 2010-09-15

Similar Documents

Publication Publication Date Title
AU2017202638B2 (en) Low-delay video buffering in video coding
RU2609073C2 (ru) Указание использования параллельной волновой обработки в кодировании видео
RU2452128C2 (ru) Адаптивное кодирование информации заголовка видеоблока
US20110194613A1 (en) Video coding with large macroblocks
KR20080108476A (ko) 데이터 트래픽과 전력 소모를 저감시킨 플렉서블 매크로블록 오더링
KR20140093641A (ko) 디코더 설정을 위한 비디오 부호화 방법 및 그 장치, 디코더 설정에 기초한 비디오 복호화 방법 및 그 장치
KR102091139B1 (ko) 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 부호화 방법 및 그 장치, 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 복호화 방법 및 그 장치
US20140321529A1 (en) Video encoding and/or decoding method and video encoding and/or decoding apparatus
KR20150081236A (ko) 효율적인 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US20120236940A1 (en) Method for Efficient Parallel Processing for Real-Time Video Coding
WO2011046231A1 (en) Methods for parallel video encoding and decoding
US9819944B2 (en) Multi-layer video coding method for random access and device therefor, and multi-layer video decoding method for random access and device therefor
US11889095B2 (en) Wavefront parallel processing for tile, brick, and slice
KR101060494B1 (ko) 비트스트림 디코딩 장치와 방법 및 그 장치를 포함하는 멀티미디어 장치
CN115769587A (zh) 精细控制图像编码和解码过程的方法和设备
US11985318B2 (en) Encoding video with extended long term reference picture retention
US11595652B2 (en) Explicit signaling of extended long term reference picture retention
JP5061355B2 (ja) 画像符号化方法、装置およびプログラムならびに画像処理機器
JP4676474B2 (ja) 画像符号化方法

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
FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151207

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee