KR20050085273A - 복수의 비트 스트림 디코더 사이에서 스위칭하는 장치 및방법 - Google Patents

복수의 비트 스트림 디코더 사이에서 스위칭하는 장치 및방법 Download PDF

Info

Publication number
KR20050085273A
KR20050085273A KR1020057009934A KR20057009934A KR20050085273A KR 20050085273 A KR20050085273 A KR 20050085273A KR 1020057009934 A KR1020057009934 A KR 1020057009934A KR 20057009934 A KR20057009934 A KR 20057009934A KR 20050085273 A KR20050085273 A KR 20050085273A
Authority
KR
South Korea
Prior art keywords
format
bit stream
decoder
information
logic
Prior art date
Application number
KR1020057009934A
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 KR20050085273A publication Critical patent/KR20050085273A/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • 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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 복수의 디코더 내의 특정 디코더 사이에서 스위칭하는 장치 및 방법을 제공하는데, 각각의 디코더는 고유한 포맷을 갖는 비트 스트림(bit streams)을 디코딩할 수 있다. 이러한 장치는 포맷 검출기(format detectors)를 포함하는데, 이는 비트 스트림으로부터의 정보에 기초하여 포맷 표시자(format indicators)를 출력한다. 로직은 포맷 검출기 출력에 응답하여 복수의 디코더 중에서 특정 디코더를 결정할 수 있다. 로직에 의해 결정된 특정 디코더는 포매팅된 비트 스트림을 디코딩한다. 적어도 하나의 스위치는 로직의 결정에 응답하여 포매팅된 비트 스트림을 특정 디코더에 접속시킨다. 포맷 검출기는 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 프레임 정보, 개시 코드(start code), 패킷 헤더 정보 및 코드 워드 값(code word values) 중 적어도 하나를 검출하고, 여기에서 코드 워드 값, 그의 파생어, 또는 코드 워드 값의 패턴은 비트 스트림 포맷에 있어서 고유한 값이다.

Description

복수의 비트 스트림 디코더 사이에서 스위칭하는 장치 및 방법{METHOD AND APPARATUS FOR SELECTING PARTICULAR DECODER BASED ON BITSTREAM FORMAT DETECTION}
본 발명은 일반적으로 프리젠테이션 아티팩트(presentation artifacts)를 생성하지 않으면서 가변 포맷(varying format)의 오디오 및/또는 비디오 비트 스트림을 디코딩하는 디바이스에 관한 것이다. 보다 구체적으로, 본 발명은 프리젠테이션 아티팩트가 생성될 수 있게 되기 전에 디코더를 스위칭하기에 충분할 정도로 빠른 포맷 변동의 검출에 관한 것이다.
디지털 오디오 및 비디오 데이터는 인터넷을 포함하는 통신 라인을 거쳐서 다양한 데이터 압축 포맷(이하에서는 "포맷") 형태로 비트 스트림(bit streams)으로 전달된다. 각각의 고유한 포맷은 비트 스트림 컨텐츠 정보를 프리젠테이션 형태, 즉 오디오 또는 비디오 형태로 변환하기 위해 그에 대응하는 고유한 디코더를 필요로 할 것이다. 이러한 포맷의 예로는 4개의 MPEG 포맷, 즉 ISO/IEC 13818-3, ISO/IEC 11172-3, ISO/IEC 13818-7 및 ISO/IEC 14496-3과, AC-3 포맷이 존재한다. 포매팅된 데이터 스트림 내에는 스트림 식별자(identifications : ID)가 제공되는데, 이는 원래 포맷 타입을 식별하도록 의도된 것이다. 표준의 개발이 진행될수록, 스트림 ID는 포매팅된 비트 스트림의 포맷을 고유하게 식별하지 않기 때문에 신뢰할 수 없게 되었다. 예를 들면, 스트림 ID 0xC0은 4개의 MPEG 포맷 전부를 위해 사용되지만, 그 중 2개의 ISO/IEC 13818-7 및 ISO/IEC 11172-3은 상이한 디코더를 필요로 한다. 비디오 및 오디오 데이터는 통상적으로 프레임으로 정렬된다.
포맷 검출에 대한 접근법으로는 비트 스트림에 대한 독립적인 사전 정보(priori information)를 포맷 가이드(format guide)로서 사용하는 것이 있다. 이러한 정보는 사용을 위해 파싱(parsed)되어야 한다. 현대의 데이터 레이트에서, 이러한 느린 방법은 데이터의 프리젠테이션에 있어서 갭(gaps) 또는 프리젠테이션 아티팩트를 발생시킨다. 입수 가능한 최고의 툴(tools)을 이용한다고 해도, 포맷 변동이 실제적으로 발생되는 정확한 포인트를 확실하고 정확하게 표시할 수 없다. 따라서, 선행 독립 정보를 파싱하여 컨텐츠 디코더를 스위칭하는 현재의 방법은 일반적으로 불리한 프리젠테이션 아티팩트를 계속 생성한다.
따라서, 프리젠테이션 아티팩트의 생성을 회피할 정도로 충분히 빠르게 컨텐츠 디코더를 선택하는 장치 및 방법이 필요하다.
도 1은 본 발명의 방법에 대한 예시적인 제 1 실시예의 단계를 도시하는 흐름도.
도 2는 본 발명의 방법에 대한 예시적인 제 2 실시예의 단계를 도시하는 흐름도.
도 2a는 본 발명의 방법에 대한 예시적인 제 3 실시예의 단계를 도시하는 흐름도.
도 3은 본 발명의 장치에 대한 예시적인 제 1 실시예를 도시하는 블록도.
도 4는 본 발명의 장치에 대한 예시적인 제 2 실시예를 도시하는 블록도.
도 5는 본 발명의 장치에 대한 예시적인 제 3 실시예를 도시하는 블록도.
본 발명은 복수의 비트 스트림 디코더 사이에서 스위칭하는 장치를 제공하는데, 각각의 디코더는 고유한 포맷(unique format)을 갖는 비트 스트림을 디코딩한다. 이러한 장치는 오로지 비트 스트림으로부터의 정보를 수집하는 하나 이상의 포맷 검출기를 포함한다. 포맷 검출기 출력은 로직에 공급되고, 로직은 검출기의 출력에 응답하여 복수의 디코더 중에서 적절한 특정 디코더를 결정한다. 로직에 의해 결정된 특정 디코더는 포매팅된 비트 스트림에 응답하여 포매팅된 비트 스트림을 디코딩할 수 있다. 적어도 하나의 스위치는, 로직의 결정에 응답하여 포매팅된 비트 스트림을 특정 디코더의 입력에 접속한다. 포맷 검출기는 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 프레임 정보, 패킷 헤더 정보 및 코드 워드 값 중 적어도 하나를 검출하고, 코드 워드 값, 그의 파생어, 또는 코드 워드 값의 패턴은 비트 스트림 포맷에 대해 고유한 값이다. 포매팅된 비트 스트림을 위한 디코더 사이에서 스위칭하기 위해 포맷을 검출하는 방법이 개시되어 있다. 이러한 방법은 순차적으로, 병렬 방식으로 또는 하이브리드 정렬 방식(hybrid arrangement)으로 정렬되어 있는 복수의 포맷 검출기를 이용할 것이다. 순차형 포맷 검출기에서, 후속 스테이지는 이전의 스테이지가 모호한 결과를 리턴(return)할 때에만 사용될 것이다. 이러한 방법은 오로지 비트 스트림으로부터 비트 스트림 포맷을 검출하는 방법을 포함한다. 이러한 방법은 검출된 비트 스트림 포맷을 디코딩하기 위한 적절한 디코더를 결정하는 단계와, 포매팅된 비트 스트림을 적절한 디코더로 스위칭하는 단계를 더 포함한다.
본 발명은 테이블 파싱(table-parsing) 및 다른 종래 방법에 비해 더 빠르다는 이점을 갖는다. 포맷을 결정하고, 적절한 디코더를 선택하는 데 있어서 오로지 작은 양의 데이터를 처리하기만 하면 된다.
표준들이 증가하고 여러 표준들 사이의 혼동이 증가하고 있음에도 불구하고, 임의의 진정으로 고유한, 새로운 표준이 제공된 적어도 하나의 방법에 의해 검출될 수 있어야 하기 때문에, 본 발명은 그것을 위해 적합하다는 이점을 갖는다.
심리스 고속 디코더(seamless agile decoder)에 대한 상술된 특징 및 이점과 그 외의 특징 및 이점은 첨부된 도면에 표시된 바와 같은 심리스 고속 디코더에 대한 특정한 실시예의 보다 상세한 설명으로부터 명확해질 것이다.
다음으로 도면을 참조하면, 도 1은 비트 스트림의 포맷을 검출하는 예시적인 방법(100)을 도시한다. 참조 부호(100)를 개시할 때, 포매팅된 데이터 스트림으로부터의 데이터 세그먼트는 분석을 위해 판독될 수 있다. 데이터 세그먼트는 통상적으로 잠재적으로 고유한(potentially unique) 개시 코드, 패킷 헤더 및 잠재적으로 고유한 코드 워드를 포함하는 컨텐츠 등과 같은 프레임 동기화 정보 및 프레임 구조 정보를 포함할 것이다. 제 1 단계(102)는 특정한 개시 코드(M)에 대한 데이터 세그먼트를 탐색하고, 이러한 특정 개시 코드(M)는 "프레임 정보"로도 지칭되는 프레임 동기화 정보 및 프레임 구조 정보를 반영한다. 개시 코드는 프레임의 개시 시점을 나타내고, 직접적으로 판독될 수 있다. 몇몇 포맷은 고유한 개시 코드를 이용한다. 특정한 개시 코드(M)가 획득되면, 단계(103)는 개시 코드(M)가 검출된 데이터 스트림을 위해 사용될 특정 디코더(N)를 고유하게 표시하는지 여부를 판정한다. 몇몇 실시예에서, 다른 프레임 정보를 사용할 수 있다. 예를 들면, 개시 코드들 간의 비트 개수를 나타내는 프레임 크기는 몇몇 포맷에 대해 고유한 값일 수 있다. 개시 코드는 포맷 표시자(format indicator)의 일례이다. 포맷 표시자는 비트 스트림으로부터 판독될 수 있는 피처(feature)이고, 이것으로부터 비트 스트림의 포맷에 관련된 정보가 수집될 수 있다. 본 명세서에서 "개시 코드"는 프레임 정보에 기초하여 포맷 표시자를 나타내기 위해 사용되었다. 포맷과 디코더 사이의 관계는 엄밀히 말해서 1대1로 대응되지 않는다. 디코더(N)는 복수의 디코더 중 특정한 하나를 나타낼 수 있는데, 이는 복수의 가능한 개시 코드 중 특정한 하나의 개시 코드에 기초하여 선택될 수 있다. 개시 코드(M)는 가능한 전체 개시 코드 중 특정한 하나의 개시 코드를 나타낸다. 디코더(N)일 있는 복수의 디코더의 세트는, 디코더(Y) 및 디코더(Q)일 수 있는 디코더의 세트와 부분적으로 중첩될 수 있다. 다시 말해서, 동일한 디코더를 사용할 수 있지만 약간씩 서로 다른 포맷에 대해 서로 다른 시간에 개시 코드, 패킷 헤더 또는 코드 워드를 검출하는 것에 기초하여 개별 디코더를 선택할 수 있다.
이러한 결정은 예를 들면, 결정을 구현하는 로직(360)(도 3)에 포함되거나 이용 가능한 개시 코드 테이블 내에서 개시 코드를 탐색(lookup)하는 것에 의해 이루어질 수 있다. 예를 들면, 개시 코드(M)는 개시 코드 테이블 내의 디코더(N)와 연관될 수 있고, 그에 따라 테이블 내에서 탐색을 수행하는 것은 디코더(N) 결정을 리턴할 수 있다. 그에 대한 반증으로서, 개시 코드(M)가 개시 코드 테이블 내에서 자신과 연관된 디코더를 갖지 않으면, 탐색 동작은 디코더 결정을 리턴하지 않을 것이다. 룩업 테이블은 테이블의 파싱을 필요로 하지 않는다. 예를 들면, 테이블은 해싱 테이블(hash table)일 수 있다. 개시 코드(M)가 디코더(N)와 고유하게 연관되면, 적절한 디코더(N)가 결정되고, 단계(110)에서 선택될 수 있다. 디코더(N)가 선택되면, 이는 포매팅된 비트 스트림의 디코딩을 개시한다. 개시 코드(M)가 디코더(N)를 고유하게 식별하지 않으면, 모호성(ambiguity)이 존재하고, 어떤 디코더를 사용할 것인지 알 수 없다.
단계(104)에서, 모호성은 포맷을 고유하게 검출하는 제 2 접근법을 이용함으로써 회피되고, 패킷 헤더(X)가 판독될 수 있으며, 패킷 헤더 테이블 내의 엔트리와 비교될 수 있다. 패킷 헤더(X)는 룩업 테이블 내에서 패킷 헤더(X)와 연관된 디코더(Y)를 발견하는 것에 의해 표시되는 디코더(Y)를 사용하도록 고유하게 결정할 수 있다. 디코더(Y)가 고유하게 결정되면, 디코더(Y)는 단계(111)에서 선택된다. 디코더(Y)가 고유하게 결정되지 않으면, 모호성은 여전히 존재한다.
단계(106)에서, 모호성은 여기에서도 포맷을 고유하게 검출하는 제 3 접근법을 이용함으로써 회피되고, 코드 워드(P)는 판독될 수 있으며, 단계(107)에서 테이블 내의 엔트리에 대해 비교되어, 디코더(Q)가 고유하게 결정되었는지 여부를 판정한다. 코드 워드(P)가 특정 디코더(Q)를 고유하게 판정하지 않으면, 모호성은 해결되지 않은 상태로 남아있다. 이러한 경우에, 단계(108)는 다음 데이터 세그먼트를 판독하고, 프로세스는 다시 참조 부호(101)에서 개시된다. 코드 워드(P)가 디코더(Q)를 고유하게 결정하지 않으면, 디코더(Q)가 단계(112)에서 선택된다. 다른 실시예에서, 단계(107)는 데이터 세그먼트 내에서 복수의 코드 워드를 발견하고, 이러한 코드 워드의 패턴을 테이블 엔트리에 매칭하여 디코더를 고유하게 결정하도록 변형될 수 있다.
코드 워드는 서로 다른 방식으로 획득될 수 있다. 서로 다른 코딩 표준에 대해 서로 다른 코드 북(code books)을 사용하고, 이는 서로 다른 디코더를 필요로 한다. 코드 북은 데이터 패킷의 컨텐츠 부분 내에서 데이터를 인코딩하는 데 사용되는 코드 워드를 포함한다. 몇몇 코드는 그의 대응하는 포맷에 대해 고유한 코드 워드를 포함한다. 예를 들면, 후프만 오디오 코딩 표준(Huffman audio coding standard)은 고유한 코드 워드를 포함할 수 있다. 고유한 코드 워드는 포맷 또는 코딩을 결정하고, 그에 따라 적절한 디코더를 결정한다. 몇몇 경우에, 고유한 서명은 고유한 코드 워드를 갖지 않는 코드로부터 도출될 수 있다. 예를 들면, 고유한 코드 워드 없이 후프만 코드(Huffman code)를 디코딩하여 실제 오디오 샘플 값(actual audio sample value)을 추출할 수 있고, 이러한 값은 각 포맷에 대해 고유한 재구성 공식(reconstruction equation)에 적용될 수 있다. 특정한 포맷에 있어서 이러한 값이 부적절하다면, 재구성 공식으로부터 초래되는 오버플로우(overflow)를 유발할 것이다. 모든 포맷에 대한 재구성 공식을 테스트하여 오버플로우를 발생시키지 않는 것을 발견할 수 있을 것이다. 이러한 재구성 공식은 포맷을 결정하고, 그에 따라 사용될 정확한 디코더를 결정한다. 가장 가능성 있는 포맷(most likely formats)이 가장 먼저 테스트된다. 실제 오디오 샘플 값 등과 같은 코드 워드 파생어는 또한 본 명세서에서 "코드 워드 값"으로 지칭된다. 비디오 코딩은 하부 대역 코딩(sub-band coding), 움직임 보정 코딩(motion-compensation coding) 및 벡터 양자화(vector quantization)를 포함하는 다양한 코딩 방법을 이용한다. 각각의 방법은 별도의 코드 북을 갖고, 고유한 코드 워드를 가질 수 있다. 파생 방법(derivation methods)은 상술된 것과 유사한 접근법에 의해 각각의 코딩 방법을 위해 도출될 수 있다. 코드 워드의 패턴은 또한 고유할 수 있다. 예를 들면, 여러 코드가 코드 워드(A) 및 코드 워드(B)를 가질 수 있지만, 오로지 하나만이 A, B 및 C를 가질 수 있고, 여기에서 C는 독립적으로 고유한 값이 아니다. 몇몇 경우에 코드 워드의 도출은 느린 프로세스일 수 있으므로, 이는 일반적으로 제시된 검출 방법들 중에서 가장 최후의 선택이 된다.
임의의 디코더 선택(111-112) 이후에, 단계(113)는 확인(confirmation)의 반복이 요구되는지 결정한다. "예"라면, 단계(108)에서 다음 데이터 세그먼트를 판독하고, 단계(102)에서 프로세스를 재개한다. "아니오"라면, 외부 트리거(external trigger)가 단계(101)에서 다시 프로세스(100)를 개시할 때까지, 단계(114)에서 프로세스가 중지된다. 몇몇 실시예에서, 주기적 포맷 결정(100)이 요구될 수 있다. 다른 실시예에서, 연속적인 포맷 결정이 요구될 수 있다. 예를 들면, 빈번한 포맷 변동을 포함함으로써 데이터를 보호하고자 시도한다면, 연속적인 포맷 검출이 필요할 것이다. 이러한 실시예에서, 단계(113)는 사전 결정된 간격-이는 모든 각각의 데이터 세그먼트일 수 있음-으로 포맷 검출을 반복한다. 포맷 검출기가 호출되는 순서는 최고속(fastest)(개시 코드 검출기(102-103))으로 개시되고, 최저속(slowest)(코드 워드 검출기(106-107))으로 종료된다. 다른 순차화(orderings)로는 예를 들면, 고유한 개시 코드를 갖지 않는 것으로 알려진 데이터 스트림을 정규적으로 검출하는 실시예를 고려할 수 있다. 또한, 고유한 디코더를 결정할 최고의 가능성을 포맷 검출기를 가장 선행하도록 배치하고, 고유한 결정에 대한 최저의 가능성을 갖는 포맷 검출기를 가장 마지막에 배치하는 방식으로, 단계들의 순서를 정하는 다른 기준을 사용할 수 있다.
이하에서 설명되는 바와 같은 프로세스(100)는, 하드웨어, 소프트웨어, 펌웨어, 또는 그의 혼합물(hybrids)로 구현될 수 있다. 현재 정의되지 않은 나중의 포맷에 대한 적용성(adaptability)이 중요하기 때문에, 몇몇 애플리케이션에 있어서 소프트웨어 구현이 선호될 수 있다. 다른 애플리케이션에서, 그 속도 때문에 하드웨어 실시예가 선호될 수 있다. 실시예(100)는 도시된 가장 빠른 예시적인 실시예일 수 있다. 다른 실시예는 특정 애플리케이션에 있어서 유리할 수 있다. 예를 들면, 결정의 정확도가 매우 중요한 실시간(real-time) 컴퓨터 애플리케이션에서, 도 2에 도시된 실시예가 유리할 수 있다.
도 2는 심리스 고속 디코더 프로세스(seamless agile decoder process)에 대한 예시적인 다른 실시예(200)를 도시한다. 이 프로세스는 데이터 세그먼트를 판독함으로써 단계(201)에서 개시된다. 단계(202)에서, 개시 코드(M)에 대한 데이터 세그먼트를 검색할 수 있다. 개시 코드(M)가 디코더(N)를 고유하게 결정하면, 디코더(N)는 단계(210)에서 선택된다. 개시 코드(M)가 디코더(N)를 고유하게 결정하지 않으면, 단계(204)에서는 확인된 특정한 모호성에 기초하여 다음 검출기를 선택할 수 있다. 예를 들면, 개시 코드(M)는 3개의 디코더에 대한 선택으로 좁혀질 수 있다. 이러한 3개의 가능성 사이에서 선택하는 데 있어서, 나머지 검출기 중 하나가 다른 것들보다 우수할 수 있다. 선택을 제한하면, 단계(203)는 단계(204)로 모호 기술자를 전달할 수 있는데, 이는 나머지 가능성에 대한 목록 정도로 간단할 수 있다. 일실시예에서, 모호 기술자는 이진수일 수 있고, 여기에서 각각의 숫자는 디코더를 나타낼 수 있는데, 각각의 숫자는 단계(203)에서 대응하는 디코더가 제거되는 경우에 0이 될 수 있고, 대응하는 디코더가 가능성을 갖는 경우에 1이 될 수 있다. 단계(203)는 선택을 제한할 수 없고, 디폴트 기술자(default descriptor)는 단계(204)로 전달될 수 있다. 따라서, 이진수 0은 디폴트 기술자일 수 있고, 이러한 경우에 프로세스(200)는 실시예(100)에서와 동일하게 진행될 것이다.
단계(204)에서, 해결 로직(resolution logic)은 어떤 단계가 다음으로 모호 기술자에 기초할 수 있는지를 결정한다. 모호성이 패킷 헤더 검출기(211-212)에 의해 가장 잘(가장 빠르게 또는 가장 확실하게) 해결될 수 있다면, 패킷 헤더는 검출될 수 있다. 탐색될 특정한 패킷 헤더(X)는 단계(211)에서 모호 기술자에 기초하여 룩업 테이블에 의해 발견될 수 있고, 모호성을 해결할 패킷 헤더(X)는 테이블 내에서 모호 기술자와 연관된다. 단계(211)에서 패킷 헤더(X)가 개시 코드 검출기 결과를 가지고 디코더(Y)를 고유하게 식별하면, 단계(216)에서 디코더(Y)가 선택된다. 패킷 헤더(X)가 디코더(Y)를 고유하게 식별하지 않으면, 프로세스는 단계(205)로 진행된다. 다른 실시예에서, 단계(212)는 모호 기술자를 단계(205)로 전달하기 전에 이러한 모호 기술자를 수정할 수 있다. 개시 코드 모호성이 코드 워드 검출기(205-206)에 의해 가장 우수하게(가장 빠르게, 가장 확실하게, 가장 가능성 있게 등과 같이 특정한 적용 분야에 따라 적절하게 선택함) 해결될 수 있다면, 프로세스는 단계(204)로부터 단계(205)로 직접적으로 진행된다.
단계(205)는 단계(204) 또는 단계(212)로부터 전달된 모호 기술자에 기초하여 데이터 세그먼트의 컨텐츠로부터 코드 워드를 검색한다. 단계(206)에서 코드 워드(P)가 모호 기술자가 주어질 때 디코더(Q)를 고유하게 식별하면, 디코더(Q)는 단계(213)에서 선택된다. 코드 워드(P)가 디코더(Q)를 고유하게 식별하지 않으면, 프로세스는 단계(207)에서 다음 데이터 세그먼트를 획득한다. 단계(205)가 단계(204)에 후속하면, 패킷 헤더 검출기(211-212)는 절대로 액세스될 수 없다는 것을 유의하라. 다른 실시예에서, 모든 검출기(202-203, 211-212, 205-206)는 단계(207) 이전에 액세스된다.
실시예(100)에 있어서, 디코더 선택(213, 215 또는 216) 이후에 반복 여부에 대한 질문은 단계(214)에서 대두된다. 반복이 요구되지 않으면, 프로세스는 단계(215)에서 종료된다. 그렇지 않으면, 단계(207)는 다음 데이터 세그먼트를 획득하고, 단계(202)에서 프로세스를 다시 개시한다. 당업자라면 포맷 검출(202-203, 211-212, 205-206)의 순서가 상호 교환될 수 있다는 것을 인식할 것이다. 이러한 실시예(200)의 변동은 본 발명에서 고려될 수 있다. 이와 유사하게, 당업자라면 추가적인 포맷 검출이 실시예(200)에 추가될 수 있다는 것을 인식할 것이다. 몇몇 다른 실시예는 모든 가능한 포맷 중에서 오로지 제한된 서브셋(subsets)만을 수신하는 시스템으로 설계될 수 있고, 포맷 검출의 순서는 이러한 시스템에 대해 부합될 수 있다.
도 2a는 포맷 검출을 위한 병렬 방법에 대한 예시적인 실시예(600)를 도시한다. 3개의 검출 방법(602-603, 611-612, 621-622)은 각각 동시에 실행된다. 병렬 검출 방법(602-603, 611-612, 621-622)에 의해 이루어진 결정은 단계(607)에서 누적(accumulated)되고 분류될 수 있다. 하나 이상의 포맷 검출(602-603, 611-612, 621-622)이 각각 고유한 디코더를 발견하면, 디코더 선택(604, 613 또는 623)은 단계(607)에서 최초 기준(first-in-time criterion) 등과 같은 기준에 따라서 분류될 수 있다. 고유한 디코더의 최초 검출(first-in-time detection)은 적절한 디코더의 선택(604, 613 또한 623)이 각각 단계(607)에서 선택되게 한다. 최초 검출 선택(604, 613 또는 623)은 단계(605)에서 개시되고, 이는 확인이 반복되어야 하는지 여부를 판정한다. "예"라면, 단계(615)는 다음 데이터 세그먼트를 획득하고, 다른 2개의 검출 방법에 의한 어떠한 처리도 차단한다. 반복이 요구되지 않으면, 프로세스(600)는 단계(606)에서 종료되고, 또한 다른 2개의 검출 방법을 차단한다. 어느 방법이나, 최초 명확성 결정(first-in-time unambiguous determination)은 디코더 선택을 제어한다. 몇몇 실시예에서, 단계(606)에서의 최초 선택 알고리즘은 다른 선택 조건에 의해 대체될 수 있다. 예를 들면, 단계(606)에서 모든 성공적 검출의 결과가 획득될 수 있고, 가능성 기준 또는 가중치가 부여된 가능성 기준에 부합될 수 있다. 몇몇 실시예에서, 단계(606)를 생략하여, 최초 디코더 선택 알고리즘을 제어하게 할 수 있다. 검출 방법(602-603, 611-612 또는 621-622) 중 어느 것도 명확한 디코더 결정을 생성하지 못하면, 추가적 단계(614, 624)를 실행할 수 있다. 각각의 검출 방법이 실패할 때, 단계(614)에서는 해당 시도에 의해 수집된 임의의 정보를 사용하여 디폴트 모호 기술자를 업데이트할 수 있다. 예를 들면, 모호 기술자는 이진수일 수 있고, 각각의 숫자 또는 비트가 특정 디코더에 대응할 수 있다. 각 비트에 있어서 디폴트 값은 0이고, 이는 검출기가 발견되지 않았다는 것을 나타낸다. 제 1 검출 방법에 의해서 3개의 가능한 디코더가 존재하는 것으로 결정되지만, 3개 중에서 어느 것이 정확한 디코더인지 결정되지 않았다면, 가능한 디코더에 대응하는 모호 기술자 내의 각 비트는 1로 변경된다. 종료하기 위한 다음의 검출 방법은 또한 모호 기술자를 생성하고, 이는 제 1 모호 기술자와 함께 비트 단위의 로직 AND로 처리된다. 따라서, 가능한 것으로 확인되거나 처음 2개의 방법 모두에 의해 제거될 수 없는 디코더는, 가능한 디코더에 대응하는 비트 내에서 각각 1을 가질 것이다. 결과를 생성하기 위한 제 3 방법으로부터의 정보는 유사하게 결합된다. 다음에, 단계(624)는 고유한 디코더 "A"가 발견되었는지, 즉 모호 기술자 내에서 1의 값을 갖는 오로지 하나의 비트가 존재하는지 여부에 관해 문의한다. "예"라면, 단계(625)에서 디코더 "A"가 선택된다. 일실시예에서, 단계(625)는 2개의 가장 빠른 방법의 개별적인 모호한 출력에 기초하여 최초 디코더 결정을 수행할 수 있다. 따라서, 고유한 디코더 결정에 대해 가장 느린 방법이 예정되었다고 해도, 2개의 가장 빠른 검출 출력의 합은 그것을 가장 먼저 발견할 수 있다. 실시예(600)의 이점은 포맷 검출에 의해 수집된 정보를 모두 이용할 수 있다는 것이다. 반복이 필요하다면, 프로세스는 단계(601)로 되돌아간다.
도 3은 심리스 고속 디코더 장치에 대한 예시적인 실시예(300)의 블록도를 도시한다. 포매팅된 데이터 스트림(310)은 분할되어 포맷 검출기(320) 및 스위치(330)로 접속될 수 있다. 포맷 검출기(320)는 하드웨어 및/또는 소프트웨어를 포함하여, 단계(102, 104, 106, 202, 211 및/또는 205) 등과 같은 프로세스 단계 또는 그의 변형을 예시한다(도 1 및 도 2 참조). 검출된 개시 코드, 패킷 헤더 또는 코드 워드는 경로(324)에 의해 로직(360)으로 전달되고, 이는 검출된 포맷에 대해 어떤 디코더(340, 342, 344)가 적합할 것인지 고유하게 결정할 수 있다. 몇몇 실시예에서, 포맷 검출기(320) 및 로직(360)은 집적된다. 로직(360)이 적절한 디코더를 결정하면, 스위치(330)는 라인(303) 상의 포매팅된 데이터 스트림이 선택된 디코더(340, 342 또는 344)를 향하게 한다. 라인(303)은 지연(delays) 또는 버퍼(buffers)를 포함하여 포맷 검출기 및 로직의 처리 시간을 보상할 수 있다. 선택된 디코더(340, 342 또는 344)는, 각각 디코딩된 데이터(350, 352 또는 354)를 생성한다. 몇몇 실시예에서, 스위치(330)는 로직(360) 및 포맷 검출기(320)와 일체화된다.
도 4는 심리스 고속 디코더의 예시적인 다른 실시예(400)를 도시하는데, 여기에서 3개의 모든 포맷 검출기(420, 422, 424)는 각각 포매팅된 데이터 스트림(410)으로부터 데이터 세그먼트의 복사본을 수신한다. 몇몇 실시예에서, 데이터 세그먼트는 모든 포맷 검출기에 있어서 동일한 데이터 세그먼트일 것이다. 다른 실시예에서, 데이터 세그먼트는 가장 느린 포맷 검출기가 제 1 데이터 세그먼트를 획득하고, 가장 빠른 포맷 검출기가 시퀀스 내에서 가장 최종 데이터 세그먼트를 획득하는 순차적 데이터 세그먼트일 수 있다. 모든 검출기(420, 422, 424)는 동시에 작동될 수 있다.
포맷 검출기(420, 422, 424)의 출력은 연관 로직(association logic)(460)으로 전달된다. 연관 로직은 2개의 선택 방법을 예로 들 수 있다. 제 1 방법은 최초의 명확한 디코더 결정을 선택하고, 스위치(430)를 활성화하여 디코더 결정을 구현한다. 모든 출력이 모호할 때 사용되는 제 2 방법은, 최초 모호 기술자를 취하고, 이것을 다른 포맷 검출기로부터의 후속 모호 기술자를 가지고 재정(refine)하여, 모든 재정 이후에 단일 디코더가 유지되는지 여부를 결정한다. 최종 모호 기술자에 의해 단일 디코더가 표시되면, 해당 디코더는 선택된다. 그렇지 않고, 다음 데이터 세그먼트가 획득되면 프로세서는 재개시(restarts)된다. 실시예(400)에 예시된 프로세스가 계속 진행되면, 포매팅된 스트림 데이터(410)는 라인(426)을 따라서 스위치(430)에 접속되고, 스위치(430)를 통해서 적절한 디코더(440, 442 또는 444)에 접속된다. 라인(426)은 검출기(420, 422, 424) 및 연관 로직(460)의 처리 시간을 보상하기 위해 지연 또는 버퍼를 가질 수 있다. 몇몇 실시예에서, 포맷 검출기, 연관 로직 및 스위치는 통합될 수 있다. 여러 실시예에서, 디코더(440, 442, 444)는 또한 검출기(420, 422, 424) 및 연관 로직(460)과 통합된다.
도 5는 단일 포맷 검출기(520)를 구비하는 특정한 다른 실시예(500)의 블록도를 도시한다. 이러한 실시예는 단일 포맷 검출기(520)만을 가지고도, 로직(560)이 검출된 코드 워드, 패킷 헤더 또는 개시 코드로부터 적절한 디코더를 결정하도록 요구되는 것을 도시한다. 로직(560)은 검출된 코드 워드, 패킷 헤더 또는 개시 코드로부터 디코더(540, 544 또는 548)를 결정하는 룩업 테이블을 포함한다. 스위치(530)는 로직(560)과 통합된 미세 전자 회로(microelectronic circuit)일 수 있다.
포맷이 개발됨에 따라, 단일 포맷 검출기(520)로도 충분하게 될 것이다. 코드 워드, 개시 코드 및 패킷 헤더의 패턴 등과 같은 다른 검출 가능한 포맷 피처가 발견될 수 있거나, 미래에 새로운 검출 가능한 포맷 피처가 추가될 수 있다는 것 또한 고려하였다. 본 명세서에서 제공된 검출 방법은 새롭고 추가적인 검출 가능 포맷 피처로 확장될 수 있다.
상술된 설명은 심리스 고속 디코딩을 위한 방법 및 장치에 대한 선택된 실시예를 개시하였다.
본 발명은 그의 선택된 실시예를 참조하여 특정하게 도시되고 설명되었으나, 당업자라면, 본 발명의 정신 및 범주를 벗어나지 않으면서 첨부된 청구항에 의해서만 제한되어 선택된 실시예의 형태 및 세부 사항에 대한 다양한 수정이 이루어질 수 있다는 것을 쉽게 이해할 수 있을 것이다. 예를 들면, 심리스 고속 디코더는 서로 다른 프레임 동기화 및 프레임 구조 피처를 위해 복수의 포맷 검출기를 포함할 수 있다.

Claims (41)

  1. 복수의 비트 스트림 디코더(bit stream decoders) 사이에서 스위칭하는 장치로서,
    각각의 디코더는 고유한 포맷(unique format)을 갖는 포매팅된 비트 스트림을 디코딩하고,
    상기 비트 스트림으로부터 정보를 수집하는 적어도 하나의 포맷 검출기(format detector)와,
    로직(logic)을 포함하되,
    상기 정보는 상기 로직에 의해 사용되어 상기 복수의 디코더 중 특정 디코더에 대한 출력 표시(output indication)를 생성하고,
    상기 로직은 상기 적어도 하나의 포맷 검출기의 출력에 응답하여 상기 특정 디코더를 결정하는
    장치.
  2. 제 1 항에 있어서,
    상기 로직의 상기 결정에 응답하여 상기 포매팅된 비트 스트림을 상기 특정 디코더의 입력단에 접속시키는 적어도 하나의 스위치를 더 포함하는 장치.
  3. 제 1 항에 있어서,
    상기 특정 디코더는 상기 포매팅된 비트 스트림에 응답하여 상기 포매팅된 비트 스트림을 디코딩하는 디코더를 포함하는 장치.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 포맷 검출기는 상기 포매팅된 비트 스트림의 프레임 동기화 정보(frame synchronization information) 및 상기 포매팅된 비트 스트림의 프레임 구조 정보 중 적어도 하나를 검출하도록 구성되는 디바이스를 포함하는 장치.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 포맷 검출기는 상기 비트 스트림 내에서 헤더 정보(header information)를 검출하도록 구성된 디바이스를 포함하는 장치.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 포맷 검출기는 코드 워드 값(code word values), 코드 워드 값의 파생어(derivatives) 및 상기 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 코드 워드 값의 패턴 중 적어도 하나를 검출하도록 구성된 디바이스를 포함하는 장치.
  7. 제 1 항에 있어서,
    상기 적어도 하나의 포맷 검출기는, 적어도 2개의
    상기 비트 스트림의 프레임 동기화 정보 및 상기 비트 스트림의 프레임 구조 정보를 검출하도록 구성되는 포맷 검출기와,
    상기 비트 스트림 내에서 헤더 정보를 검출하도록 구성되는 포맷 검출기와,
    코드 워드, 코드 워드의 파생어, 코드 워드의 패턴, 코드 워드 값, 코드 워드 값의 파생어 및 상기 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 코드 워드 값의 패턴 중 적어도 하나를 검출하도록 구성된 포맷 검출기
    를 포함하는 장치.
  8. 제 7 항에 있어서,
    상기 적어도 2개의 포맷 검출기는 스테이지형 시퀀스(staged sequence)로 작동하는 장치.
  9. 제 8 항에 있어서,
    상기 적어도 2개의 포맷 검출기 중 이전 스테이지(earlier-staged)의 포맷 검출기가 모호한 결과(ambiguous result)를 리턴(returns)할 경우에만 작동하도록 구성된 상기 적어도 2개의 포맷 검출기 중 후속 스테이지(later-staged)의 포맷 검출기를 포함하는 장치.
  10. 제 9 항에 있어서,
    상기 후속 스테이지의 포맷 검출기는 상기 이전 스테이지의 포맷 검출기 스테이지에서 생성될 가능성이 있는 모호성(ambiguities)을 해결하도록 구성되는 포맷 검출기를 포함하는 장치.
  11. 제 10 항에 있어서,
    적어도 3개의 고유한 포맷 검출기 및 해결 로직(resolution logic)을 더 포함하고,
    상기 해결 로직은 제 1 스테이지 포맷 검출기의 상기 결과 내의 특정한 모호성에 응답하여 상기 특정한 모호성을 가장 잘 해결할 수 있는 포맷 검출기를 제 2 스테이지 포맷 검출기로 선택하는
    장치.
  12. 제 7 항에 있어서,
    상기 적어도 하나의 포맷 검출기는 복수의 고유한 포맷 검출기를 병렬로 포함하고,
    상기 로직은 연관 로직(association logic)을 포함하며,
    상기 연관 로직은 상기 복수의 포맷 검출기로부터 출력을 수신하고, 적어도 하나의 포맷 검출기 출력에 기초하여 디코더를 선택하도록 작동될 수 있는
    장치.
  13. 제 12 항에 있어서,
    상기 연관 로직은 복수의 포맷 검출기로부터의 출력에 기초하여 디코더를 선택하고,
    상기 출력은 모호 기술자(ambiguity descriptors)를 포함하는
    장치.
  14. 제 1 항에 있어서,
    상기 로직은 테이블 파싱(table parsing) 없이, 적어도 하나의 룩업 테이블(lookup table)을 이용하고,
    상기 적어도 하나의 룩업 테이블은 디코더 결정을 제공하는 검출 결과에 의해 검색될 수 있는
    장치.
  15. 제 1 항에 있어서,
    상기 로직은 프레임 정보, 헤더 정보 및 컨텐츠 코드 워드 정보 중 적어도 하나로부터 특정 디코더를 결정하도록 구성된 로직을 포함하는 장치.
  16. 제 15 항에 있어서,
    상기 로직은 하드웨어, 소프트웨어 및 펌웨어(firmware) 중 적어도 하나를 포함하는 장치.
  17. 제 1 항에 있어서,
    상기 포맷 검출기는 외부 트리거(external trigger)에 응답하여 포맷 검출을 개시하는 로직을 포함하는 장치.
  18. 제 1 항에 있어서,
    상기 포맷 검출기는 상기 비트 스트림 포맷을 주기적으로 검출하는 장치.
  19. 제 1 항에 있어서,
    상기 포맷 검출기는 상기 비트 스트림 포맷을 연속적으로 검출하는 장치.
  20. 제 7 항에 있어서,
    연관 로직을 더 포함하고,
    상기 적어도 2개의 포맷 검출기는 병렬로 작동하며,
    상기 연관 로직은 상기 적어도 2개의 포맷 검출기의 출력으로부터 최초(first-in-time)의 명확한(unambiguous) 포맷 검출의 수신 및 상기 비트 스트림 포맷의 명확한 결정 중 적어도 하나를 실행하도록 작동 가능한
    장치.
  21. 제 1 항에 있어서,
    상기 적어도 하나의 포맷 검출기 및 상기 로직은 함께 집적되는 장치.
  22. 복수의 비트 스트림 디코더 사이에서 스위칭하는 장치로서,
    각각의 디코더는 대응하는 고유한 포맷을 갖는 포매팅된 비트 스트림을 디코딩하고,
    상기 비트 스트림으로부터 비트 스트림 정보를 수집하는 적어도 하나의 포맷 검출기-상기 비트 스트림 정보는 상기 복수의 디코더 중 특정 디코더에 대한 출력 표시를 생성하기 위해 이용됨-
    를 포함하는 장치.
  23. 제 22 항에 있어서,
    상기 적어도 하나의 포맷 검출기에 의해 수집된 비트 스트림 정보에 응답하여 상기 복수의 디코더 중 특정 디코더를 결정하는 로직을 더 포함하고,
    상기 특정 디코더는 상기 포매팅된 비트 스트림에 응답하여 상기 포매팅된 비트 스트림을 디코딩하는
    장치.
  24. 제 23 항에 있어서,
    상기 로직은 프레임 정보, 헤더 정보, 컨텐츠 코드 워드 정보 및 그의 파생어 중 적어도 하나로부터 특정 디코더를 결정하도록 구성되는 장치.
  25. 제 23 항에 있어서,
    상기 로직이 특정 디코더를 결정하는 것에 응답하여 상기 포매팅된 비트 스트림을 상기 특정 디코더의 입력단에 접속시키는 적어도 하나의 스위치를 더 포함하는 장치.
  26. 제 22 항에 있어서,
    상기 포맷 검출기는 상기 포매팅된 비트 스트림의 프레임 동기화 정보 및 프레임 구조 정보 중 적어도 하나를 검출하도록 구성되는 디바이스를 포함하는 장치.
  27. 제 22 항에 있어서,
    상기 포맷 검출기는 상기 포매팅된 비트 스트림 내에서 패킷 헤더 정보(packet header information)를 검출하도록 구성되는 디바이스를 포함하는 장치.
  28. 제 22 항에 있어서,
    상기 포맷 검출기는 코드 워드, 코드 워드 값, 상기 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 코드 워드의 패턴, 상기 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 코드 워드 값의 패턴 및 그의 파생어 중 적어도 하나를 검출하도록 구성된 디바이스를 포함하고,
    상기 적어도 하나의 코드 워드, 코드 워드 값, 상기 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 코드 워드의 패턴, 상기 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 코드 워드 값의 패턴 및 그의 파생어는 상기 비트 스트림 포맷의 표시자(indicator)를 포함하는
    장치.
  29. 포매팅된 비트 스트림을 위한 복수의 디코더 중에서 선택하는 방법으로서,
    상기 포매팅된 비트 스트림으로부터 판독된 정보 내에서 적어도 하나의 비트 스트림 포맷 표시자의 검출하는 단계를 포함하는 방법.
  30. 제 29 항에 있어서,
    상기 적어도 하나의 비트 스트림 포맷 표시자 중에서 검출된 비트 스트림 포맷을 디코딩하는 데 있어서 적절한 디코더를 결정하는 단계를 더 포함하는 방법.
  31. 제 30 항에 있어서,
    상기 적절한 디코더를 결정하는 상기 단계는 디코더와 검출된 포맷 표시자를 연관시키는 테이블 내에서 상기 검출된 포맷 표시자를 탐색하는 단계를 포함하는 방법.
  32. 제 30 항에 있어서,
    상기 적절한 디코더를 결정하는 상기 단계는,
    상기 포매팅된 비트 스트림의 포매팅된 비트 스트림에서 판독된 정보로부터 포맷 표시자를 도출하는 단계와,
    디코더와 검출된 포맷 표시자를 연관시키는 테이블 내에서 상기 검출된 포맷 표시자를 탐색하는 단계
    를 포함하는 방법.
  33. 제 30 항에 있어서,
    상기 포매팅된 비트 스트림을 상기 정확한 디코더의 입력으로 스위칭하는 단계를 더 포함하는 방법.
  34. 제 29 항에 있어서,
    상기 포매팅된 비트 스트림에서 판독된 정보 내에서 상기 적어도 하나의 비트 스트림 포맷 표시자를 검출하는 상기 단계는 프레임 동기화 정보 및 프레임 구조 정보 중 적어도 하나를 검출하는 단계를 포함하는 방법.
  35. 제 29 항에 있어서,
    상기 포매팅된 비트 스트림에서 판독된 정보 내에서 상기 적어도 하나의 비트 스트림 포맷 표시자를 검출하는 상기 단계는 상기 포매팅된 비트 스트림 내에서 상기 패킷 헤더 정보를 디코딩하는 단계를 포함하는 방법.
  36. 제 29 항에 있어서,
    상기 포매팅된 비트 스트림에서 판독된 정보 내에서 상기 적어도 하나의 비트 스트림 포맷 표시자를 검출하는 상기 단계는, 코드 워드, 코드 워드의 파생어, 코드 워드의 패턴, 코드 워드 값, 코드 워드 값의 파생어 및 상기 포매팅된 비트 스트림의 코딩된 컨텐츠의 일부분 내에서 코드 워드 값의 패턴 중 적어도 하나를 검출하는 단계를 포함하는 방법.
  37. 제 29 항에 있어서,
    상기 포매팅된 비트 스트림에서 판독된 정보 내에서 상기 적어도 하나의 비트 스트림 포맷 표시자를 검출하는 상기 단계는, 프레임 정보, 패킷 헤더 정보 및 코드 워드 중 적어도 하나를 검출하는 단계를 포함하는 방법.
  38. 제 29 항에 있어서,
    상기 적어도 하나의 비트 스트림 포맷 표시자를 검출하는 상기 단계는, 프레임 정보, 헤더 정보 및 코드 워드 중 적어도 2개를 순차적으로 검출하는 서브-단계(sub-steps)를 포함하는 방법.
  39. 제 38 항에 있어서,
    시퀀스 내에서 이후에 발생되는 상기 포맷 표시자 검출 단계는, 상기 시퀀스 내에서 이전에 발생되는 상기 포맷 표시자 검출 단계로부터의 모호한 결과에 응답하는 단계를 포함하는 방법.
  40. 제 39 항에 있어서,
    상기 후속 포맷 표시자 검출 단계는 상기 이전의 포맷 검출 단계의 상기 결과 내의 특정한 모호성에 응답하여 선택된 단계를 포함하는 방법.
  41. 제 29 항에 있어서,
    상기 적어도 하나의 비트 스트림 포맷 표시자를 검출하는 상기 단계는, 복수의 포맷 표시자를 병렬로 검출하는 단계를 포함하고,
    상기 방법은 사전 결정된 기준에 기초한 단일 포맷 검출기 출력의 선택 및 복수의 포맷 검출기의 상기 출력의 조합 중 적어도 하나를 더 포함하는
    방법.
KR1020057009934A 2002-12-04 2003-11-26 복수의 비트 스트림 디코더 사이에서 스위칭하는 장치 및방법 KR20050085273A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43093002P 2002-12-04 2002-12-04
US60/430,930 2002-12-04

Publications (1)

Publication Number Publication Date
KR20050085273A true KR20050085273A (ko) 2005-08-29

Family

ID=32469565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057009934A KR20050085273A (ko) 2002-12-04 2003-11-26 복수의 비트 스트림 디코더 사이에서 스위칭하는 장치 및방법

Country Status (7)

Country Link
US (1) US7167108B2 (ko)
EP (1) EP1570647A1 (ko)
JP (1) JP2006509406A (ko)
KR (1) KR20050085273A (ko)
CN (1) CN100382565C (ko)
AU (1) AU2003283636A1 (ko)
WO (1) WO2004051982A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817022B1 (ko) * 2006-11-15 2008-03-26 한국전자통신연구원 스타-메쉬 혼합형 구조를 갖는 온칩 네트워크 기반의동영상 디코더
KR100863696B1 (ko) * 2007-07-31 2008-10-15 경북대학교 산학협력단 전송 스트림 처리 방법 및 장치
KR100902007B1 (ko) * 2007-02-28 2009-06-11 삼성전자주식회사 비디오 스트림 처리 장치

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
JP3873921B2 (ja) * 2003-04-03 2007-01-31 ソニー株式会社 記録装置および方法
JP2005217486A (ja) * 2004-01-27 2005-08-11 Matsushita Electric Ind Co Ltd ストリーム復号装置
JP2008538457A (ja) * 2005-02-16 2008-10-23 トムソン ライセンシング アジャイル・デコーダ
KR100668346B1 (ko) * 2005-10-04 2007-01-12 삼성전자주식회사 멀티 코덱용 필터링 장치 및 방법
KR101065546B1 (ko) * 2005-12-09 2011-09-19 엔비디아 코포레이션 하드웨어 다중 표준 비디오 디코더 장치
KR101215615B1 (ko) * 2006-01-10 2012-12-26 삼성전자주식회사 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치
US7813823B2 (en) * 2006-01-17 2010-10-12 Sigmatel, Inc. Computer audio system and method
DE112006003587B4 (de) * 2006-03-06 2017-03-09 Mitsubishi Electric Corp. Abspielvorrichtung für komprimierte codierte Daten und Decodierungs-/Abspielverfahren komprimierter codierter Daten in dieser Vorrichtung
JP4901390B2 (ja) * 2006-09-20 2012-03-21 株式会社東芝 ビデオサーバ及び素材出力方法
JP4901389B2 (ja) * 2006-09-20 2012-03-21 株式会社東芝 ビデオサーバ及び素材出力方法
WO2008123709A1 (en) * 2007-04-04 2008-10-16 Humax Co., Ltd. Bitstream decoding device and method having decoding solution
EP2111044A1 (en) * 2008-04-18 2009-10-21 THOMSON Licensing DTMB Demodulator with stream format auto-detector
KR20100094709A (ko) * 2009-02-19 2010-08-27 (주)휴맥스 부호화/복호화 방법 및 장치
US8768078B2 (en) * 2010-04-07 2014-07-01 Apple Inc. Intelligent media decoding
US10045089B2 (en) 2011-08-02 2018-08-07 Apple Inc. Selection of encoder and decoder for a video communications session
CN102769591B (zh) * 2012-06-21 2015-04-08 天地融科技股份有限公司 音频通信调制方式自适应的方法、系统、装置、电子签名工具
ITMI20130785A1 (it) * 2013-05-13 2014-11-14 Sky Italia S R L Codifica near-real time di un segnale lineare
WO2016018787A1 (en) 2014-07-31 2016-02-04 Dolby Laboratories Licensing Corporation Audio processing systems and methods
TW201611620A (zh) * 2014-09-05 2016-03-16 可取國際股份有限公司 數位影像錄放影機與其錄放影方法
US10205957B2 (en) * 2015-01-30 2019-02-12 Mediatek Inc. Multi-standard video decoder with novel bin decoding
US10074378B2 (en) 2016-12-09 2018-09-11 Cirrus Logic, Inc. Data encoding detection
US10522155B2 (en) 2017-02-21 2019-12-31 Cirrus Logic, Inc. Pulse code modulation (PCM) data-marking
CN109949819B (zh) * 2019-03-14 2022-03-25 建荣半导体(深圳)有限公司 节省音频处理的程序和数据空间的方法、装置及电子设备
US11348592B2 (en) * 2020-03-09 2022-05-31 Sonos, Inc. Systems and methods of audio decoder determination and selection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2288957B (en) * 1994-03-24 1998-09-23 Discovision Ass Start code detector
US4611242A (en) * 1984-05-07 1986-09-09 Zenith Electronics Corporation Two mode scrambling system using identifier pulse in vertical blanking interval
US5842033A (en) 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US5835792A (en) * 1993-06-24 1998-11-10 Discovision Associates Token-based adaptive video processing arrangement
JP3796802B2 (ja) * 1995-10-30 2006-07-12 日本ビクター株式会社 光ディスクへの記録方法及び光ディスク装置
US6324515B1 (en) * 1998-06-02 2001-11-27 Nortel Networks Limited Method and apparatus for asymmetric communication of compressed speech
JP3676600B2 (ja) * 1999-01-07 2005-07-27 株式会社ケンウッド オーディオ信号処理装置
JP2001266488A (ja) * 2000-03-23 2001-09-28 Toshiba Corp 圧縮オーディオデータ再生装置および圧縮オーディオデータ再生方法
JP2003152546A (ja) * 2001-11-15 2003-05-23 Matsushita Electric Ind Co Ltd マルチフォーマットストリーム復号化装置及びマルチフォーマットストリーム送出装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817022B1 (ko) * 2006-11-15 2008-03-26 한국전자통신연구원 스타-메쉬 혼합형 구조를 갖는 온칩 네트워크 기반의동영상 디코더
US8526503B2 (en) 2006-11-15 2013-09-03 Electronics And Telecommunications Research Institute OCN-based moving picture decoder
KR100902007B1 (ko) * 2007-02-28 2009-06-11 삼성전자주식회사 비디오 스트림 처리 장치
US8194753B2 (en) 2007-02-28 2012-06-05 Samsung Electronics Co., Ltd. Apparatus processing video stream
US8625677B2 (en) 2007-02-28 2014-01-07 Samsung Electronics Co., Ltd. Apparatus processing video stream
KR100863696B1 (ko) * 2007-07-31 2008-10-15 경북대학교 산학협력단 전송 스트림 처리 방법 및 장치

Also Published As

Publication number Publication date
US20060114136A1 (en) 2006-06-01
US7167108B2 (en) 2007-01-23
JP2006509406A (ja) 2006-03-16
WO2004051982A1 (en) 2004-06-17
CN1720716A (zh) 2006-01-11
AU2003283636A1 (en) 2004-06-23
EP1570647A1 (en) 2005-09-07
CN100382565C (zh) 2008-04-16

Similar Documents

Publication Publication Date Title
KR20050085273A (ko) 복수의 비트 스트림 디코더 사이에서 스위칭하는 장치 및방법
JP4160902B2 (ja) データフレームが符号化された付加データを含んでいるか否かを判定する方法及び装置
EP1168199A2 (en) Indexing method and apparatus
KR100910855B1 (ko) 디코딩 방법 및 장치
KR960036343A (ko) 부호화 장치
KR20050013630A (ko) 압축된 멀티미디어 컨텐트로부터 해시들을 발생하는 방법
US6721710B1 (en) Method and apparatus for audible fast-forward or reverse of compressed audio content
CN102047336B (zh) 用于产生或截除或改变包括至少一个报头部分在内的基于帧的比特流格式文件的方法和设备以及相应数据结构
US11120867B2 (en) Hardware compression with search string matching
EP2149138B1 (en) Method and apparatus for processing encoded audio data
US7088272B2 (en) Pipeline arithmetic code decoding method and apparatus using context index predictor
KR20000023810A (ko) 가변길이 프레임 전송방법과 전송장치 및 수신장치
US7940807B2 (en) Methods, decoder circuits and computer program products for processing MPEG audio frames
US8615021B2 (en) Method and apparatus to multiplex and demultiplex asynchronous bitstreams
JP2008227875A (ja) データ再生装置及びデータ再生方法
JPH10233763A (ja) 直列データ伝送装置
US20040108946A1 (en) Decoding bit streams compressed with compression techniques employing variable length codes
KR20030052819A (ko) 디지털 오디오 부호화 타입 검출에 의한 복호화 장치 및그 방법
CN100568741C (zh) 算术解码方法和设备及截去音频数据比特流的方法和设备
KR960032435A (ko) 듀얼 캡션(Dual Caption)처리장치 및 방법
JPH08288863A (ja) 受信装置及びその制御方法
KR960039995A (ko) 디지탈 오디오신호의 에러를 보정하는 서브밴드복호화방법 및 그 복호기
KR970071266A (ko) 에이치(h). 263 영상 비트 스트림에서의 에러 검출방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application