JP2021122099A - 情報処理装置、情報処理方法、及び、プログラム - Google Patents
情報処理装置、情報処理方法、及び、プログラム Download PDFInfo
- Publication number
- JP2021122099A JP2021122099A JP2020014934A JP2020014934A JP2021122099A JP 2021122099 A JP2021122099 A JP 2021122099A JP 2020014934 A JP2020014934 A JP 2020014934A JP 2020014934 A JP2020014934 A JP 2020014934A JP 2021122099 A JP2021122099 A JP 2021122099A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- alp
- header
- length
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 57
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 78
- 238000012937 correction Methods 0.000 claims description 225
- 238000001514 detection method Methods 0.000 claims description 116
- 239000000284 extract Substances 0.000 claims description 15
- 238000000605 extraction Methods 0.000 abstract description 90
- 230000005540 biological transmission Effects 0.000 description 80
- 238000000034 method Methods 0.000 description 60
- 230000008569 process Effects 0.000 description 48
- 238000010586 diagram Methods 0.000 description 28
- 230000011664 signaling Effects 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 11
- 101710129170 Extensin Proteins 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4425—Monitoring of client processing errors or hardware failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/432—Content retrieval operation from a local storage medium, e.g. hard-disk
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4343—Extraction or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】規格の解釈の相違にかかわらず第1パケットに含まれる第2パケットを適切に抽出できるようにする情報処理装置、情報処理方法及びプログラムを提供する。【解決手段】受信装置12は、受信した第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部を有し、処理部は第2パケットに内包された第2パケットのうち、第1パケットのヘッダのデータにより特定した先頭の前記第2パケットの先頭位置と、先頭の第2パケットの1つ前の第2パケットのパケット長により特定した先頭の第2パケットの先頭位置との差に基づく第1プロトコルエラーと、第2パケットのパケット長により特定した次の第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーとを検出する。【選択図】図3
Description
本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、規格の解釈の相違にかかわらず第1パケットに含まれる第2パケットを適切に抽出できるようにする情報処理装置、情報処理方法、及び、プログラムに関する。
特許文献1には、デジタル放送用のTS信号からTS(Transport Stream)パケットを取得し、TSパケットのヘッダ部分を解析することで、規格上とりえない値となっているTSパケットを判定して異常を検出する技術が開示されている。
次世代地上波放送規格の1つのであるATSC(Advanced Television Systems Committee)3.0規格において、規格の解釈の相違から、BB(Baseband)パケットに格納された可変長のALP(ATSC Link-Layer Protocol)パケットを適切に抽出できない場合があった。
本技術は、このような状況に鑑みてなされたものであり、規格の解釈の相違にかかわらず第1パケットに含まれる第2パケットを適切に抽出できるようにする。
本技術の一側面の情報処理装置、又は、プログラムは、第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部を有する情報処理装置、又は、そのような情報処理装置として、コンピュータを機能させるためのプログラムである。
本技術の一側面の情報処理方法は、処理部を有する情報処理装置の処理部が、第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う情報処理方法である。
本技術の一側面の情報処理装置、情報処理方法、及び、プログラムにおいては、第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正が行われる。
以下、図面を参照しながら本技術の実施の形態について説明する。
<伝送システムの構成例>
図1は、本技術を適用した伝送システムの一実施の形態の構成を示す図である。なお、システムとは、複数の装置が論理的に集合したものをいう。
図1は、本技術を適用した伝送システムの一実施の形態の構成を示す図である。なお、システムとは、複数の装置が論理的に集合したものをいう。
図1において、伝送システム1は、送信装置11と受信装置12から構成される。この伝送システム1では、ATSC3.0等のデジタル放送の規格に準拠したデータ伝送が行われる。
なお、次世代地上放送規格の1つであるATSC3.0では、データ伝送に、UDP/IPパケット、すなわち、UDP(User Datagram Protocol)パケットを含むIP(Internet Protocol)パケットを用いる方式が採用される。
送信装置11は、伝送路13を介してコンテンツを送信する。例えば、送信装置11は、放送番組等のコンテンツを構成するビデオやオーディオ等(のコンポーネント)とシグナリングを含む放送ストリームを、放送波として伝送路13を介して送信する。
受信装置12は、送信装置11から伝送路13を介して送信されてくるコンテンツを受信して出力する。例えば、受信装置12は、送信装置11からの放送波を受信して、放送ストリームから、コンテンツを構成するビデオやオーディオ等(のコンポーネント)とシグナリングを取得し、放送番組等のコンテンツの映像や音声を再生する。
なお、図1の伝送システム1においては、説明を簡単にするために、受信装置12を1つだけ図示しているが、受信装置12は複数設けることができ、送信装置11が送信(一斉同報配信)する放送波は、伝送路13を介して複数の受信装置12で同時に受信することができる。
また、図1の伝送システム1においては、送信装置11も複数設けることができる。複数の送信装置11のそれぞれでは、別個のチャネルとしての、例えば、別個の周波数帯域で、放送ストリームを含む放送波を送信し、受信装置12では、複数の送信装置11のそれぞれのチャンネルの中から、放送ストリームを受信するチャネルを選択することができる。
さらに、図1の伝送システム1において、伝送路13は、地上波(地上波放送)のほか、例えば、放送衛星(BS:Broadcasting Satellite)や通信衛星(CS:Communications Satellite)を利用した衛星放送、あるいは、ケーブルを用いた有線放送(CATV)の伝送路などであってもよい。
<送信装置11の構成例>
図2は、図1の送信装置11の構成例を示す図である。
図2は、図1の送信装置11の構成例を示す図である。
図2において、送信装置11は、AVエンコーダ31、FLUTEエンコーダ32、UDP/IPパケタイザ33、ALPパケタイザ34、BBパケタイザ35、スクランブラ36、BCH,CRC,noneエンコーダ37、LDPCエンコーダ38、ビットインターリーバ40、データマッパ41、時間インターリーバ44、フレームマッパ45、周波数インターリーバ46、OFDM送信部47、及びRF出力部48から構成される。
AVエンコーダ31は、ビデオやオーディオ(のコンポーネント)のデータを、所定の符号化方式に従い、エンコードし、FLUTEエンコーダ32に供給する。FLUTEエンコーダ32は、AVエンコーダ31からのデータを処理(エンコード)して、FLUTE(File Delivery over Unidirectional Transport)形式に対応したデータを生成し、UDP/IPパケタイザ33に供給する。
UDP/IPパケタイザ33は、FLUTEエンコーダ32からのデータを処理して、UDPパケットを含むIPパケット(UDP/IPパケット)を生成し、ALPパケタイザ34に供給する。ALPパケタイザ34は、UDP/IPパケタイザ33からのUDP/IPパケットを処理して、ALP(ATSC Link layer Protocol)パケットを生成し、BBパケタイザ35に供給する。
BBパケタイザ35は、ALPパケタイザ34からのALPパケット(第2パケット)を処理して、BB(BaseBand)パケット(第1パケット)を生成し、スクランブラ36に供給する。スクランブラ36は、BBパケタイザ35からのデータ(BBパケット)にスクランブルを施し、その結果得られるデータを、BCH,CRC,noneエンコーダ37に供給する。
BCH,CRC,noneエンコーダ37は、スクランブラ36からのデータを符号化し、その結果得られるデータを、LDPCエンコーダ38に供給する。LDPCエンコーダ38は、BCH,CRC,noneエンコーダ37からのデータをLDPC(Low Density Parity Check)符号化し、その結果得られるデータを、ビットインターリーバ40に供給する。
ビットインターリーバ40は、LDPCエンコーダ38からのデータに対し、ビットインターリーブを行い、そのビットインターリーブ後のデータを、データマッパ41に供給する。
データマッパ41は、ビットインターリーバ40からのデータを、そのデータ(LDPC符号)の1ビット以上の符号ビットの単位(シンボル単位)で、直交変調の1つのシンボルを表す信号点にマッピングして直交変調(多値変調)を行う。データマッパ41での処理により得られるデータは、時間インターリーバ44に供給される。
時間インターリーバ44は、データマッパ41からのデータに対し、時間インターリーブを行い、時間インターリーブ後のデータを、フレームマッパ45に供給する。
フレームマッパ45は、時間インターリーバ44からのデータに対し、フレーム(物理層フレーム)に関する処理を行い、その結果得られるデータを、周波数インターリーバ46に供給する。周波数インターリーバ46は、フレームマッパ45からのデータに対し、周波数インターリーブを行い、その周波数インターリーブ後のデータを、OFDM送信部47に供給する。
OFDM送信部47は、周波数インターリーバ46からのデータを処理して、OFDM(Orthogonal Frequency Division Multiplexing)信号を生成し、RF出力部48に供給する。RF出力部48は、アンテナ(不図示)と接続され、OFDM送信部47からのOFDM信号を、RF(Radio Frequency)信号として、伝送路13を介して送信する。
送信装置11は、以上のように構成される。
<受信装置12の構成例>
図3は、図1の受信装置12の構成例を示す図である。
図3は、図1の受信装置12の構成例を示す図である。
図3において、受信装置12は、RF入力部61、OFDM受信部62、周波数デインターリーバ63、フレームデマッパ64、時間デインターリーバ65、データデマッパ68、ビットデインターリーバ69、LDPCデコーダ71、BCH,CRC,noneデコーダ72、デスクランブラ73、BBデパケタイザ74、ALPデパケタイザ75、UDP/IPデパケタイザ76、FLUTEデコーダ77、及びAVデコーダ78から構成される。
RF入力部61は、アンテナ(不図示)と接続され、送信装置11から伝送路13を介して送信されてくるRF信号を受信し、OFDM信号として、OFDM受信部62に供給する。OFDM受信部62は、RF入力部61からのOFDM信号を処理し、それにより得られるデータを、周波数デインターリーバ63に供給する。
周波数デインターリーバ63は、OFDM受信部62からのデータに対し、周波数デインターリーブを行い、その周波数デインターリーブ後のデータを、フレームデマッパ64に供給する。フレームデマッパ64は、周波数デインターリーバ63からのデータに対し、フレーム(物理層フレーム)に関する処理を行い、その結果得られるデータを、時間デインターリーバ65に供給する。
時間デインターリーバ65は、フレームデマッパ64からのデータに対し、時間デインターリーブを行い、その時間デインターリーブ後のデータを、データデマッパ68に供給する。
データデマッパ68は、時間デインターリーバ65からのデータ(コンスタレーション上のデータ)を、送信装置11側で行われる直交変調で定められる信号点の配置(コンスタレーション)に基づいて、デマッピング(信号点配置復号)して直交復調し、その結果得られるデータ(LDPC符号)を、ビットデインターリーバ69に供給する。
ビットデインターリーバ69は、データデマッパ68からのデータに対し、ビットデインターリーブを行い、そのビットデインターリーブ後のデータを、LDPCデコーダ71に供給する。
LDPCデコーダ71は、ビットデインターリーバ69からのデータをLDPC復号し、その結果得られるデータを、BCH,CRC,noneデコーダ72に供給する。BCH,CRC,noneデコーダ72は、LDPCデコーダ71からのデータを復号し、その結果得られるデータを、デスクランブラ73に供給する。デスクランブラ73は、BCH,CRC,noneデコーダ72からのデータにデスクランブルを施し、その結果得られるデータを、BBデパケタイザ74に供給する。
BBデパケタイザ74は、デスクランブラ73からのデータからBBパケットを抽出して処理し、その結果得られるデータを、ALPデパケタイザ75に供給する。
ALPデパケタイザ75は、BBデパケタイザ74からのデータからALPパケットを抽出して処理し、その結果得られるデータを、UDP/IPデパケタイザ76に供給する。UDP/IPデパケタイザ76は、ALPデパケタイザ75からのデータからUDP/IPパケットを抽出して処理し、その結果得られるデータを、FLUTEデコーダ77に供給する。
FLUTEデコーダ77は、UDP/IPデパケタイザ76からのデータ(FLUTE形式に対応したデータ)を処理(デコード)して、その結果得られるデータを、AVデコーダ78に供給する。AVデコーダ78は、FLUTEデコーダ77からのデータを、所定の復号方式に従い、デコードし、その結果得られるビデオやオーディオ(のコンポーネント)のデータを出力する。
受信装置12は、以上のように構成される。
<ALPデパケタイザ75の第1の実施の形態の構成例>
図4は、ALPデパケタイザ75の第1の実施の形態の構成例を示すブロック図である。
図4は、ALPデパケタイザ75の第1の実施の形態の構成例を示すブロック図である。
ALPデパケタイザ75(処理部)は、BBヘッダ解釈部101、ALPヘッダ解釈部102、及び、ALP抽出部103を有する。
BBヘッダ解釈部101は、伝送ライン104からBBパケットのデータを取得し、BBパケットのBBヘッダのデータを取得する。伝送ライン104は、図3のBBデパケタイザ74からのBBパケットのデータをALP抽出部103に伝送する
ここで、BBパケットの構造について説明する。
図5は、BBパケットの構造を示す図である。
BBパケットは、BBヘッダ(BB Header)と、BBペイロード(BB packet payload)とから構成される。
BBヘッダには、BBパケットの長さ(パケット長)やALP先頭ポインタ(後述)などのデータが含まれる。BBペイロードには、1又は複数のALPパケット(ALP Packet)が格納される。
ALPパケットは、ALPヘッダ(ALP Header)とALPペイロード(ALP payload)とから構成される。
ALPヘッダには、パケットタイプ、ALPヘッダの長さ(ヘッダ長)、及び、ALPペイロードの長さ(ペイロード長)等を特定するデータが含まれる。ALPペイロードには、1又は複数のIPパケットが伝送データとして格納される。
図4において、BBヘッダ解釈部101は、伝送ライン104からBBヘッダのデータを取得すると、BBヘッダに含まれるALP先頭ポインタを取得する。ALP先頭ポインタは、BBパケットに格納されたALPパケットのALPヘッダのうちの最初(先頭)のALPヘッダの先頭位置を示したデータである。
なお、BBパケットにおける最初のALPヘッダを含むALPパケット(最初のALPヘッダとそれに続くALPペイロードとからなるALPパケット)を先頭ALPパケットという。
BBヘッダ解釈部101は、ALP先頭ポインタをALPヘッダ解釈部102に供給する。
なお、BBヘッダ解釈部101は、図3のBBデパケタイザ74の構成部であってもよい。
ALPヘッダ解釈部102は、伝送ライン104により伝送されているBBパケットからALPパケットのALPヘッダのデータを取得する。また、ALPヘッダ解釈部102は、取得したALPヘッダのデータに基づいてALPパケットのパケット長(ALPパケット長)を検出し、次に伝送されるALPパケットの先頭位置を特定する。なお、ALPヘッダ解釈部102は、ALPヘッダのデータに基づいてパケット長を検出する際に、データを補正する機能を有するが詳細は後述する。
ALPヘッダ解釈部102は、検出したALPパケット長をALP抽出部103に供給する。なお、ALPパケット長の検出処理等についての詳細は後述する。
ALP抽出部103は、ALPヘッダ解釈部102からのALPパケット長に基づいて、伝送ライン104により伝送されたBBパケットからALPパケットを抽出し、抽出したALPパケットを伝送ライン105により図3のUDP/IPデパケタイザ76に供給する。
(ALPパケットの抽出)
図6は、BBパケットからのALPパケットの抽出の処理を説明する説明図である。
図6は、BBパケットからのALPパケットの抽出の処理を説明する説明図である。
図6において、左右に隣接するBBパケットPA及びBBパケットPBはBBデパケタイザ74からALP抽出部103に伝送ライン104により順に伝送される2つのBBパケットを例示している。
図4のBBヘッダ解釈部101は、伝送ライン104からBBパケットPAのBBヘッダのデータを取得し、BBヘッダに含まれるALP先頭ポインタを検出する。
ALP先頭ポインタは、BBパケットPAに含まれる1又は複数のALPヘッダのうちの最初(先頭)のALPヘッダの先頭位置a−1を特定するデータである。任意のBBパケットにおける最初のALPヘッダを含むALPパケットを先頭ALPパケットというものとすると、ALP先頭ポインタは先頭ALPパケットの先頭位置を特定するデータである。なお、ALPパケットやALPヘッダ等の先頭位置とは、BBパケットのビット列におけるALPパケットやALPヘッダ等の先頭ビットの位置を表す。
BBヘッダ解釈部101は、検出したALP先頭ポインタをALPヘッダ解釈部102に供給する。
ALPヘッダ解釈部102は、ALP先頭ポインタに基づいて、先頭ALPパケットの先頭位置a−1を特定する。
また、ALPヘッダ解釈部102は、BBヘッダ解釈部101からのALP先頭ポインタに基づいて、BBパケットPAにおける先頭ALPパケットのALPヘッダのデータを伝送ライン104から取得する。
ALPヘッダ解釈部102は、取得した先頭ALPパケットのALPヘッダのデータに基づいて、ALPヘッダのヘッダ長とALPペイロードのペイロード長と(ALPパケットのヘッダ長とペイロード長と)を検出する。そして、ALPヘッダ解釈部102は、それらのヘッダ長とペイロード長とを加算して先頭ALPパケットのパケット長を算出(検出)する。なお、ALPヘッダ解釈部102は、ALPヘッダのペイロード長に対して補正を行う機能を有するが詳細は後述する。
ALPヘッダ解釈部102は、検出した先頭ALPパケットのパケット長に基づいて、BBパケットPAにおける2番目のALPパケット(先頭ALPパケットの次のALPパケット)の先頭位置a−2を特定する。2番目のALPパケットの先頭位置a−2は、先頭ALPパケットのパケット長に応じた先頭ALPパケットの末尾位置(末尾ビットの位置)に対して、次に続くビットの位置である。
また、ALPヘッダ解釈部102は、検出した先頭ALPパケットのパケット長をALP抽出部103に供給する。
ALP抽出部103は、ALPヘッダ解釈部102からのALPパケット長に基づいて、先頭ALPパケットの先頭位置a−1から2番目のALPパケットの先頭位置a−2までの先頭ALPパケットをBBパケットPA(BBペイロード)から抽出する。
このように、ALPヘッダ解釈部102は、BBパケットごとのにBBヘッダのALP先頭ポインタに基づいて先頭ALPパケットの先頭位置を特定する。
また、ALPヘッダ解釈部102は、各BBパケットに含まれるALPパケットの先頭位置の各々を、1つ前のALPパケットのパケット長に基づいて特定する(ALPパケットのパケット長に基づいて次のALPパケットの先頭位置を特定する)。すなわち、ALPヘッダ解釈部102は、連続する前後2つのALPパケットのうちの前のALPパケットの先頭位置とパケット長とに基づいて前のALPパケットの末尾位置(末尾ビットの位置)を特定する。そして、ALPヘッダ解釈部102は、前のALPパケットの末尾位置の次のビットの位置を後のALPパケットの先頭位置として特定する。なお、ALPヘッダ解釈部102は、前のALPパケットのパケット長を前のALPパケットのALPヘッダのデータに基づいて検出する。
また、ALPヘッダ解釈部102は、ALPヘッダから検出したALPパケットのパケット長(ALPパケット長)をALP抽出部103に供給する。
ALP抽出部103は、ALPヘッダ解釈部102からのALPパケット長に基づいて図6のBBパケットPAの2番目以降のALPパケットの先頭位置a−2、先頭位置a−3が伝送ライン104から伝送されるタイミングを自走カウンタでカウントすることにより検出する。
これにより、ALP抽出部103は、BBデパケタイザ74からのBBパケットに含まれるALPパケットを、ALPパケットごとに抽出する。そして、ALP抽出部103は、BBデパケタイザ74からのBBパケットから抽出したALPパケットを伝送ライン105により図3のUDP/IPデパケタイザ76に供給する。
図6においてBBパケットPAにおける3番目のALPパケットは、BBパケットPAとBBパケットPBとに分割されている。このように1つのALPパケットのデータが複数のBBパケットに分割されて伝送される場合、ALP抽出部103に伝送されるその1つのALPパケットのデータの中にBBパケットのBBヘッダのデータが介在する。
ALP抽出部103は、BBヘッダのデータを除いたBBペイロードのデータの中からALPパケットのデータを抽出し、共通(同一)のALPパケットについて抽出したデータを連結する。
例えば、図6のBBパケットPAにおける3番目のALPパケットについては、ALP抽出部103は、BBパケットPAのBBペイロードのデータのうち、3番目のALPパケットの先頭位置a−3のデータから、BBパケットPAの末尾位置のデータまでを抽出する。
また、ALP抽出部103は、BBパケットPAに続くBBパケットPBのBBペイロードのデータのうち、BBペイロードの先頭位置のデータから先頭ALPパケットの先頭位置b−1の1つ前のビットのデータまでを抽出する。そして、ALP抽出部103は、BBパケットPA及びBBパケットPBの各々から抽出したデータを連結する。
これにより、1つのALPパケットのデータが複数のBBパケットに分割されて伝送される場合であっても、BBパケットPA及びBBパケットPBに分割されたALPパケットが1つのALPパケットとして抽出される。
ここで、ALPヘッダ解釈部102及びALP抽出部103は、BBパケットにおける先頭ALPパケットの先頭位置を、先頭ALPパケット以外のALPパケットと同様にALPパケット長に基づいて特定することができる。すなわち、ALPパケット長に基づいて特定する次のALPパケットの先頭位置が、次以降のBBパケットのデータ範囲内の位置となる場合には、次のALPパケットは次以降のBBパケットに含まれる先頭ALPパケットである。この場合に、ALPヘッダ解釈部102は、BBヘッダのデータを除いたBBペイロードにおけるALPパケットの先頭位置からのデータ数が、ALPパケットのパケット長となる末尾位置の次のビットの位置を先頭ALPパケットの先頭位置として特定することができる。
例えば、ALPヘッダ解釈部102及びALP抽出部103は、図6のBBパケットPBにおける先頭ALPパケットの先頭位置b−1を、BBパケットPAにおける3番目のALPパケットのパケット長に基づいて特定する。図6のBBパケットPAの先頭ALPパケットについても、ALPヘッダ解釈部102は、BBパケットPAよりも前に不図示のBBパケットによりALPパケットが伝送されている場合にはBBパケットPAの1つ前のALPパケットのパケット長に基づいて先頭ALPパケットの先頭位置a−1を特定することができる。
<ALPパケット(ALPヘッダ)の構造>
ALPパケットは、地上放送規格であるATSC3.0に準じた構造を有しており、主に、ALPパケットのヘッダ長及びペイロード長に着目して説明し、ALPパケットに含まれるデータの内容や意味などについての説明は適宜省略する。
ALPパケットは、地上放送規格であるATSC3.0に準じた構造を有しており、主に、ALPパケットのヘッダ長及びペイロード長に着目して説明し、ALPパケットに含まれるデータの内容や意味などについての説明は適宜省略する。
ALPパケットには、複数のパケットタイプがあり、ALPヘッダは、ALPパケットのパケットタイプ(Packet_Type)を表すデータを含む。パケットタイプは、具体的には3ビットのデータであり、2進数で000乃至111の8通りのパケットタイプを表す。
図7は、ALPパケットのパケットタイプの値(Packet_Type Value)と、各値のパケットタイプの意味(Meaning)を示した図である。
なお、パケットタイプの値が000乃至111である場合の各々のパケットタイプをパケットタイプ000乃至パケットタイプ111という。
パケットタイプとしては、8通りのパケットタイプ000乃至パケットタイプ111が規定されている。現時点で有効なパケットタイプは、予備(Reserved)として確保されている3通りのパケットタイプ001、パケットタイプ011、及び、パケットタイプ101を除く、5通りのパケットタイプ000、パケットタイプ010、パケットタイプ100、パケットタイプ110、及び、パケットタイプ111である。
<パケットタイプ000及びパケットタイプ010>
図8は、パケットタイプ000及びパケットタイプ010のALPヘッダの構造を示した図である。
図8は、パケットタイプ000及びパケットタイプ010のALPヘッダの構造を示した図である。
図8においてALPヘッダの先頭には、3ビット(3b)のPacket_Typeが配置される。Packet_Typeは、パケットタイプを表すデータであり、図8では、Packet_Typeには000又は010が設定される。
Packet_Typeの後には、1ビット(1b)のPC(Payload_Configuration)が配置される。PCには0又は1が設定される。
PCが0である場合、PCの後には、1ビットのHM(Header_Mode)が配置される。HMには0又は1が設定される。
PCが1である場合、PCの後には、1ビットのS/C(Segmentation_Concatenation)が配置される。S/Cには0又は1が設定される。
(PC=0、HM=0の場合)
PCが0であり、HMが0である場合、HMの後には、11ビット(11b)のLengthのみが配置される。Lengthは、ALPペイロードのペイロード長を表す。PCが0であり、HMが0である場合、ALPペイロードのペイロード長は、11ビットで表すことができる0乃至2047ビットの範囲内の値をとり得る。
PCが0であり、HMが0である場合、HMの後には、11ビット(11b)のLengthのみが配置される。Lengthは、ALPペイロードのペイロード長を表す。PCが0であり、HMが0である場合、ALPペイロードのペイロード長は、11ビットで表すことができる0乃至2047ビットの範囲内の値をとり得る。
PCデータが0であり、HMデータが0である場合、上述したように、HMの後には、11ビットのLengthのみが配置されるので、ALPヘッダのヘッダ長は3+1+1+11=16ビット(2バイト)になる。
(PC=0、HM=1の場合)
PCが0であり、HMが1である場合、HMの後には、11ビット(11b)のLengthと、8ビットのAdditional header for single packets(Additional header for long packets)とが配置される。PCが0であり、HMが1である場合、ALPペイロードのペイロード長は、16ビットで表すことができる値をとることができ、Lengthには、ペイロード長を表す16ビットのうちの下位11ビットのデータが設定される。
PCが0であり、HMが1である場合、HMの後には、11ビット(11b)のLengthと、8ビットのAdditional header for single packets(Additional header for long packets)とが配置される。PCが0であり、HMが1である場合、ALPペイロードのペイロード長は、16ビットで表すことができる値をとることができ、Lengthには、ペイロード長を表す16ビットのうちの下位11ビットのデータが設定される。
Additional header for single packetsは、ALPペイロードのペイロード長を表す16ビットのうちの上位5ビットのデータ(不図示のLength_MSB)を含む。ALPペイロードのペイロード長は、Length_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計16ビットのデータで表され、0乃至65535ビットの範囲内の値をとり得る。
Additional header for single packetsは、Length_MSB以外に不図示のSIF(Sub-stream Identifier Flag)、及び、HEF(Header Extension Flag)等を含む。
PCが0であり、HMが1である場合におけるALPヘッダのヘッダ長は、3+1+1+11+8=24ビット(3バイト)である。
(PC=1、S/C=0の場合)
PCが1であり、S/Cが0である場合、S/Cの後には、11ビット(11b)のLengthと、8ビットのAdditional header for segmentationとが配置される。Lengthは、ALPペイロードのペイロード長を表す。PCが0であり、S/Cが0である場合、ALPペイロードのペイロード長は、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
PCが1であり、S/Cが0である場合、S/Cの後には、11ビット(11b)のLengthと、8ビットのAdditional header for segmentationとが配置される。Lengthは、ALPペイロードのペイロード長を表す。PCが0であり、S/Cが0である場合、ALPペイロードのペイロード長は、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
Additional header for segmentationは、不図示のSeg_SN(segment_sequence_number)、LSI(last_segment_indicator)、SIF(Sub-stream Identifier Flag)、及び、HEF(Header Extension Flag)を含む。
PCが1であり、S/Cが0である場合におけるALPヘッダのヘッダ長は、3+1+1+11+8=24ビット(3バイト)である。
(PC=1、S/C=1の場合)
PCが1であり、S/Cが1である場合、S/Cの後には、11ビット(11b)のLengthと、可変長のAdditional header for concatenationとが配置される。PCが1であり、S/Cが1である場合、ALPペイロードのペイロード長は、15ビットで表すことができる値をとることができ、Lengthには、ペイロード長を表す15ビットのうちの下位11ビットのデータが設定される。
PCが1であり、S/Cが1である場合、S/Cの後には、11ビット(11b)のLengthと、可変長のAdditional header for concatenationとが配置される。PCが1であり、S/Cが1である場合、ALPペイロードのペイロード長は、15ビットで表すことができる値をとることができ、Lengthには、ペイロード長を表す15ビットのうちの下位11ビットのデータが設定される。
Additional header for concatenationは、ALPペイロードのペイロード長を表す15ビットのうちの上位4ビットのデータ(不図示のLength_MSB)を含む。ALPペイロードのペイロード長は、Length_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計15ビットのデータで表され、0乃至32766ビットの範囲内の値をとり得る。
Additional header for concatenationは、Length_MSB以外に3ビットのCount、1ビットのSIF(Sub-stream Identifier Flag)、及び、可変長のComponent Lengthを含む。
PCが1であり、S/Cが1である場合におけるALPヘッダのヘッダ長(ビット数)は、24+(d−1)・12+eである。
ここで、ALPヘッダのヘッダ長(ビット数)である24+(d−1)・12+eのうちの24ビット(3バイト)は、パケットタイプ(Packet_Type)、PC、S/C、及び、Lengthのビット数の和である3+1+1+11=16ビット(2バイト)と、Additional header for concatenationにおけるLength_MSB、Count、及び、SIFのビット数の和である4+3+1=8ビット(1バイト)とを加算して得られるビット数である。
ALPヘッダのヘッダ長(ビット数)である24+(d−1)・12+eのうちのdは、Additional header for concatenationにおける3ビットのCountの値であり、Countの値dは、ALPペイロードに含まれるIPパケットの数を表す。また、Additional header for concatenationにおいてComponent Lengthは、ALPペイロードに含まれるIPパケットのうちの最後のIPパケットを除くIPパケットの各々のパケット長を表す。1つのIPパケットのパケット長は12ビットで表される値をとり得るため、Component Lengthは、(d−1)個分のIPパケットのパケット長を表す(d−1)・12ビットのデータを有する。したがって、ALPヘッダのヘッダ長(ビット数)である24+(d−1)・12+eのうちの(d−1)・12は、Component Lengthのビット数を表す。
ALPヘッダのヘッダ長(ビット数)である24+(d−1)・12+eのうちのeビットは、Countの値dが奇数である場合には0ビットであり、Countの値dが偶数である場合には4ビットである。したがって、24+(d−1)・12+eを8(ビット)で割ってバイト単位で表した場合の{3+(d−1)・3/2+e/8}(バイト)は、dが奇数である場合(d=2m+1:mは自然数)には、3+3・m(バイト)であり、dが偶数である場合(d=2m)(mは自然数)には、2+3・m(バイト)である。いずれの場合もALPヘッダのヘッダ長のバイト数は自然数である。
なお、以下において、Countの値dにより求まるAdditional header for concatenationのビット数をAHb(d)で表す。この場合にALPヘッダのヘッダ長(ビット数)は16+AHb(d)である。
<パケットタイプ100>
図9は、パケットタイプ100のALPヘッダの構造を示した図である。
図9は、パケットタイプ100のALPヘッダの構造を示した図である。
図9におけるパケットタイプ100のALPヘッダは、ALPヘッダの先頭から順に3ビットのパケットタイプ(Packet_Type)、及び、1ビットのPCを有する点で図8のALPヘッダと共通する。なお、図9では、Packet_Typeには100が設定される。
また、図9のALPヘッダは、PCが0である場合に、PCの後に1ビットのHMを有し、PCが1である場合に、PCの後に1ビットのS/Cを有する点で図8のALPヘッダと共通する。更に、図9のALPヘッダは、PCが0であり、HMが0である場合に、HMの後に11ビットのLengthを有する点、PCが0であり、HMが1である場合に、HMの後に11ビットのLength、及び、8ビットのAdditional header for long packets(Additional header for single packets)を有する点、PCが1であり、S/Cが0である場合に、S/Cの後に11ビットのLength、及び、8ビットのAdditional header for segmentationを有する点、PCが1であり、S/Cが1である場合に、11ビットのLength、及び、AHb(d)ビットのAdditional header for concatenationを有する点で、図8のALPヘッダと共通する。
ただし、図9のALPヘッダは、HMが0である場合に、Lengthの後にAdditional header for Signaling Informationを新たに有する点、HMが1である場合に、Additional header for long packetsの後にAdditional header for Signaling Informationを新たに有する点、S/Cが0である場合に、Additional header for segmentationの後にAdditional header for Signaling Informationを新たに有する点、及び、S/Cが1である場合に、Additional header for concatenationの後にAdditional header for Signaling Informationを新たに有する点で、図8のALPヘッダと相違する。
図9のALPヘッダにおいて、任意の値のHM、及び、任意の値のS/CにおけるAdditional header for Signaling Informationは、40ビット(5バイト)のデータである。Additional header for Signaling Informationは、不図示のsignaling_type、signaling_type_extension、signaling_version、signaling_format、及び、signaling_encodingを含む。
(PC=0、HM=0の場合)
PCが0であり、HMが0である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
PCが0であり、HMが0である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、及び、11ビットのLengthのビット数の和である3+1+1+11=16ビット(2バイト)と、Additional header for Signaling Informationのビット数である40ビット(5バイト)とを加算して得られる56ビット(7バイト)である。
(PC=0、HM=1の場合)
PCが0であり、HMが1である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが1である場合と同じであり、Additional header for long packets における不図示の5ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計16ビットのデータで表される。したがって、ALPペイロードのペイロード長は0乃至65535ビットの範囲内の値をとり得る。
PCが0であり、HMが1である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが1である場合と同じであり、Additional header for long packets における不図示の5ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計16ビットのデータで表される。したがって、ALPペイロードのペイロード長は0乃至65535ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、11ビットのLength、及び、8ビットのAdditional header for single packetsのビット数の和である3+1+1+11+8=24ビット(3バイト)と、Additional header for Signaling Informationのビット数である40ビット(5バイト)とを加算して得られる64ビット(8バイト)である。
(PC=1、S/C=0の場合)
PCが1であり、S/Cが0である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
PCが1であり、S/Cが0である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、11ビットのLength、及び、8ビットのAdditional header for segmentationのビット数の和である24ビット(3バイト)と、Additional header for Signaling Informationのビット数である40ビット(5バイト)とを加算して得られる64ビット(8バイト)である。
(PC=1、S/C=1の場合)
PCが1であり、S/Cが1である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが1である場合と同じであり、Additional header for concatenationにおける不図示の4ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計15ビットのデータで表され、0乃至32766ビットの範囲内の値をとり得る。
PCが1であり、S/Cが1である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが1である場合と同じであり、Additional header for concatenationにおける不図示の4ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計15ビットのデータで表され、0乃至32766ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、11ビットのLength、及び、AHb(d)ビットのAdditional header for concatenationのビット数の和である16ビット(2バイト)+AHb(d)ビットと、header for Signaling Informationのビット数である40ビット(5バイト)とを加算して得られる56ビット(7バイト)+AHb(d)ビットである。AHb(d)は、図8のALPヘッダにおいて説明したAdditional header for concatenationのビット数であり、Additional header for concatenationに含まれるCountデータの値dにより求められる。
<パケットタイプ110>
図10は、パケットタイプ110のALPヘッダの構造を示した図である。
図10は、パケットタイプ110のALPヘッダの構造を示した図である。
図10におけるパケットタイプ110のALPヘッダは、ALPヘッダの先頭から順に3ビットのパケットタイプ(Packet_Type)、及び、1ビットのPCを有する点で図8のALPヘッダと共通する。なお、図10では、Packet_Typeには110が設定される。
また、図10のALPヘッダは、PCが0である場合に、PCの後に1ビットのHMを有し、PCが1である場合に、PCの後に1ビットのS/Cを有する点で図8のALPヘッダと共通する。更に、図10のALPヘッダは、PCが0であり、HMが0である場合に、HMの後に11ビットのLengthを有する点、PCが0であり、HMが1である場合に、HMの後に11ビットのLength、及び、8ビットのAdditional header for long packets(Additional header for single packets)を有する点、PCが1であり、S/Cが0である場合に、S/Cの後に11ビットのLength、及び、8ビットのAdditional header for segmentationを有する点、PCが1であり、S/Cが1である場合に、11ビットのLength、及び、AHb(d)ビットのAdditional header for concatenationを有する点で、図8のALPヘッダと共通する。
ただし、図10のALPヘッダは、HMが0である場合に、Lengthの後にAdditional header for Type Extensinを新たに有する点、HMが1である場合に、Additional header for single packetsの後にAdditional header for Type Extensinを新たに有する点、S/Cが0である場合に、Additional header for segmentationの後にAdditional header for Type Extensinを新たに有する点、及び、S/Cが1である場合に、Additional header for concatenationの後にAdditional header for Type Extensinを新たに有する点で、図8のALPヘッダと相違する。
図10のALPヘッダにおいて、任意の値のHM、及び、任意の値のS/CにおけるAdditional header for Type Extensinは、16ビット(2バイト)のデータである。Additional header for Type Extensinは、不図示のextended_typeを含む。
(PC=0、HM=0の場合)
PCが0であり、HMが0である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
PCが0であり、HMが0である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、及び、11ビットのLengthのビット数の和である3+1+1+11=16ビット(2バイト)と、Additional header for Type Extensinのビット数である16ビット(2バイト)とを加算して得られる32ビット(4バイト)である。
(PC=0、HM=1の場合)
PCが0であり、HMが1である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが1である場合と同じであり、Additional header for long packetsにおける不図示の5ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計16ビットのデータで表される。したがって、ALPペイロードのペイロード長は、0乃至65535ビットの範囲内の値をとり得る。
PCが0であり、HMが1である場合、ALPペイロードのペイロード長は、図8におけるPCが0であり、HMが1である場合と同じであり、Additional header for long packetsにおける不図示の5ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計16ビットのデータで表される。したがって、ALPペイロードのペイロード長は、0乃至65535ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、11ビットのLength、及び、8ビットのAdditional header for single packetsのビット数の和である3+1+1+11+8=24ビット(3バイト)と、Additional header for Type Extensinのビット数である16ビット(2バイト)とを加算して得られる40ビット(5バイト)である。
(PC=1、S/C=0の場合)
PCが1であり、S/Cが0である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
PCが1であり、S/Cが0である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが0である場合と同じであり、11ビットのLengthで表すことができる0乃至2047ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、11ビットのLength、及び、8ビットのAdditional header for segmentationのビット数の和である24ビット(3バイト)と、Additional header for Type Extensinのビット数である16ビット(2バイト)とを加算して得られる40ビット(5バイト)である。
(PC=1、S/C=1の場合)
PCが1であり、S/Cが1である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが1である場合と同じであり、Additional header for concatenation における不図示の4ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計15ビットのデータで表される。したがって、ALPペイロードのペイロード長は、0乃至32766ビットの範囲内の値をとり得る。
PCが1であり、S/Cが1である場合、ALPペイロードのペイロード長は、図8におけるPCが1であり、S/Cが1である場合と同じであり、Additional header for concatenation における不図示の4ビットのLength_MSBを上位ビットとするとともに、Lengthを下位ビットとして連結した合計15ビットのデータで表される。したがって、ALPペイロードのペイロード長は、0乃至32766ビットの範囲内の値をとり得る。
ALPヘッダのヘッダ長は、3ビットのパケットタイプ(Packet_Type)、1ビットのPC、1ビットのHM、11ビットのLength、及び、AHb(d)ビットのAdditional header for concatenationのビット数の和である16ビット(2バイト)+AHb(d)ビットと、Additional header for Type Extensinのビット数である16ビット(2バイト)とを加算して得られる32ビット(4バイト)+AHb(d)ビットである。AHb(d)は、図8のALPヘッダにおいて説明したAdditional header for concatenationのビット数であり、Additional header for concatenationに含まれるCountデータの値dにより求められる。
<パケットタイプ111>
図11は、パケットタイプ111のALPヘッダの構造を示した図である。
図11は、パケットタイプ111のALPヘッダの構造を示した図である。
図11においてALPヘッダの先頭には、パケットタイプを表す3ビット(3b)のPacket_Typeが配置される。図11では、Packet_Typeには111が設定される。
Packet_Typeの後には、4ビット(4b)のNUMTS(Number of TS packets)が配置される。NUMTSは、ALPペイロードに含まれるTSパケットの数が設定される。
NUMTSの後には、1ビット(1b)のAHF(Additional Header Flag)が配置される。AHFには0又は1が設定される。
AHFが0である場合、AHFがALPヘッダの末尾位置のデータとなる。AHFが0である場合、ALPヘッダのヘッダ長は3+4+1=8ビット(1バイト)となる。
AHFデータが1である場合、AHFの後には、1ビット(1b)のHDM(Header Deletion Mode)が配置される。HDMが1の場合には、HDMは、ALPペイロードにおけるTSパケットがTSヘッダの削除をされていることを示す。HDMが0の場合には、HDMは、ALPペイロードにおけるTSパケットがTSヘッダの削除をされていないことを示す。
HDMの後には、7ビット(7b)のDNP(Deleted Null Packets)が配置される。DNPは、削除された空のパケットの数を表す。
AHFが1である場合、ALPヘッダのヘッダ長は3+4+1+1+7=16ビット(2バイト)になる。
AHFが0又は1である場合のいずれにおいても、ALPペイロードのペイロード長は、ALPペイロードに格納されるTSパケット等のパケット長を考慮してNUMTSの値に基づいて求められる。
<パケットタイプ000のALPパケットの例>
図12は、パケットタイプ000のALPパケットの具体的構造を例示した図である。
図12は、パケットタイプ000のALPパケットの具体的構造を例示した図である。
図12において、ALPパケットの先頭の3ビット(図中”type”と記載されているビット)には0、0、0が設定されているので、ALPパケットはパケットタイプ000である。
また、図12のALPパケットでは、パケットタイプに続く2ビットには0、0が設定されているので、ALPヘッダのPCが0であり、ALPヘッダのHMが0である場合を例示している。
この場合において、ALPパケット(ALPヘッダ)の先頭から6ビット目と16ビット目とそれらの間のビットとからなる11ビットは、ALPヘッダのLengthである。Lengthの示す値(Lengthの値)は、ALPペイロード(図中”payload”と記載)のペイロード長を表す。パケットタイプ000のALPパケットでは、Lengthの後にALPペイロードが続く。
図12のパケットタイプ000のALPパケットの例では、ALPヘッダのヘッダ長は、パケットタイプ、PC、HM、及び、Lengthのビット数の和である16ビット(2バイト)である。ALPペイロードのペイロード長は、ALPヘッダのLengthの値であり、0乃至2047ビットの範囲内の値をとり得る。
そして、ALPパケットのパケット長は、ALPヘッダとヘッダ長と、ALPペイロードのペイロード長とを加算して得られる値である。
<パケットタイプ100のALPパケットの例>
図13は、パケットタイプ100のALPパケットの具体的構造を例示した図である。
図13は、パケットタイプ100のALPパケットの具体的構造を例示した図である。
図13において、ALPパケットの先頭の3ビット(図中”type”と記載)には1、0、0が設定されているので、ALPパケットはパケットタイプ100である。
また、図13のALPパケットでは、パケットタイプに続く2ビットには0、0が設定されているので、ALPヘッダのPCが0であり、ALPヘッダのHMが0である場合を例示している。
この場合において、ALPパケット(ALPヘッダ)の先頭から6ビット目と16ビット目とそれらの間のビットとからなる11ビットは、ALPヘッダのLengthである。Lengthの値は、ALPペイロード(図中”payload”と記載)のペイロード長を表す。
また、Lengthの後には、図9に示した40ビット(5バイト)のAdditional header for Signaling Informationが配置される。図13では、Additional header for Signaling Informationは、8ビット(1バイト)のsignaling_type(図中”type”と記載)、16ビット(2バイト)のsignaling_type_extension(図中”extension”と記載)、8ビット(1バイト)のsignaling_version(図中”version”と記載)、2ビットのsignaling_format(図中”fmt”と記載)、2ビットのsignaling_encoding(図中”enc”と記載)、及び、4ビットのReservedを含む。
パケットタイプ100のALPパケットでは、Additional header for Signaling Informationの後にALPペイロードが続く。
図13のパケットタイプ100のALPパケットの例では、ALPヘッダのヘッダ長は、パケットタイプ、PC、HM、Length、及び、Additional header for Signaling Informationのビット数の和である56ビット(7バイト)である。ALPペイロードのペイロード長は、ALPヘッダのLengthの値であり、0乃至2047ビットの範囲内の値をとり得る。
そして、ALPパケットのパケット長は、ALPヘッダとヘッダ長である56ビット(7バイト)と、ALPペイロードのペイロード長とを加算して得られる値である。
<課題>
ALPパケットにおけるALPヘッダのヘッダ長及びALPペイロードのペイロード長は、図8乃至図11で説明したように、いずれのパケットタイプのALPパケットに対してもALPヘッダのデータに基づいて検出することができる。
ALPパケットにおけるALPヘッダのヘッダ長及びALPペイロードのペイロード長は、図8乃至図11で説明したように、いずれのパケットタイプのALPパケットに対してもALPヘッダのデータに基づいて検出することができる。
ALPペイロードのペイロード長の検出について再度簡易に説明すると、有効なパケットタイプ000、010、100、110、及び、111のうちのパケットタイプ111以外のALPパケットに対しては、パケットタイプによらずALPヘッダのPC、HM、及び、S/Cに値に応じた共通の方法で検出される。
PCが0であり、HMが0である場合、又は、PCが1であり、S/Cが0である場合、ペイロード長は、ALPヘッダの11ビットのLengthの値(0乃至2047ビットの範囲内の値)である。
PCが0であり、HMが1である場合、ペイロード長は、ALPヘッダの5ビットのLength_MSBを上位ビットとするとともに、ALPヘッダの11ビットのLengthを下位ビットとして連結した16ビットのデータが示す値(0乃至65535の範囲内の値)である。
PCが1であり、S/Cが1である場合、ペイロード長は、ALPヘッダの5ビットのLength_MSBを上位ビットとするとともに、ALPヘッダの11ビットのLengthを下位ビットとして連結した16ビットのデータが示す値(0乃至32766の範囲内の値)である。
また、パケットタイプ111のALPパケットに対しては、ALPペイドードのペイロード長は、ALPヘッダのNUMTSの値に基づいて検出される。
なお、以下において、ALPヘッダにおけるLength_MSBを上位ビットとするとともに、ALPヘッダのLengthを下位ビットとして連結したデータを拡張Lengthという。
このように、ATSC3.0の規格では、ALPヘッダにおけるLength、又は、拡張Lengthには、ALPペイロードのペイロード長が設定されるように規定されている。また、ATSC3.0の規格では、NUMTSの値と予め決められた算出式とに基づいて算出される値がALPペイロードのペイロード長となるように規定されている。
しかしなから、ALPパケットを生成する図1の送信装置11によっては、送信装置11を製造又は使用する国等におけるALPヘッダの解釈の違いから、Length、又は、拡張LengthにはALPペイロードのペイロード長とは異なる値が設定される場合や、NUMTSの値と予め決められた算出式とにより算出されたペイロード長とは異なるALPペケットが生成される場合がある。すなわち、図1の受信装置12において、上述のように規格通りにALPヘッダのデータから検出したペイロード長が真のペイロード長と異なる場合がある。
図14は、図13のパケットタイプ100のALPパケットにおけるALPヘッダのLengthの値がALPペイロードのペイロード長と異なる場合を説明する図である。
図14のALPパケットは、図13と同様に、パケットタイプ100のALPパケットにおいて、ALPヘッダのPCが0であり、ALPヘッダのHM0である場合を例示している。
図14のALPパケットにおけるALPヘッダのLengthには、図13の場合と異なり、Lengthの次のビットの位置、すなわち、signaling_type(図中”type”と記載)の先頭位置からALPペイロード(ALPパケット)の末尾位置までのビット数が設定されている。
この場合、Lengthの値は、ALPヘッダの一部のデータ(図9におけるAdditional header for Signaling Information)のビット数を含む分だけ、ALPペイロードの真のペイロード長(ビット数)よりも大きくなる。すなわち、ALPペイロードの真のペイロード長は、Lengthの値からAdditional header for Signaling Informationのビット数である40ビット(5バイト)を減算して得られるビット数である。
仮に、受信装置12が、図14のALPパケットに対して、図13と同様に規格通りに、ALPヘッダのLengthの値をALPペイロードのペイロード長として検出すると、検出したペイロード長が実際よりも40ビット(5バイト)分、大きくなり、パケット長も40ビット(5バイト)分大きくなる。
図15は、ALPヘッダのLengthの値がALPペイロードのペイロード長と異なる場合(図14の場合)に発生する不具合を説明する図である。
図15のBBパケットPA及びBBパケットPBは、ALPヘッダのLengthの値がALPペイロードのペイロード長と異なる以外は、図6のBBパケットPA及びBBパケットPBを同じである。
ALPヘッダのLengthの値がALPペイロードの真のペイロード長と異なる場合においても、BBヘッダのALP先頭ポインタはALPヘッダのLengthの値に影響されない。そのため、BBヘッダ解釈部101は、図15のBBパケットPAにおけるBBヘッダのALP先頭ポインタに基づいて先頭ALPヘッダの先頭位置a−1を正しく特定する。ALPヘッダ解釈部102も同様に、BBヘッダ解釈部101からのALP先頭ポインタにより、先頭ALPヘッダの先頭位置a−1を正しく特定する。
ALPヘッダ解釈部102は、BBヘッダ解釈部101からのALP先頭ポインタにより特定した先頭ALPヘッダの先頭位置a−1に基づいてBBパケットPAの先頭ALPパケットにおけるALPヘッダのデータを伝送ライン104から取得する。
そして、ALPヘッダ解釈部102は、取得したALPヘッダのデータに基づいて、先頭ALPパケットにおけるALPヘッダのヘッダ長とALPペイロードのペイロード長を検出し、ヘッダ長とペイロード長とを加算して先頭ALPパケットのパケット長を検出する。
このとき、ALPヘッダ解釈部102がALPヘッダのデータに基づいて規定通りに検出するALPペイロードのペイロード長は、真のペイロード長と相違する。そのため、ALPヘッダ解釈部102が検出するパケット長も真のパケット長と相違する。
したがって、ALPヘッダ解釈部102が、先頭ALPパケットのパケット長に基づいて特定する2番目のALPパケットの先頭位置a′−2が正しくなく、真の先頭位置a−2と相違する。図14の場合のようにALPヘッダのLengthの値が真のペイロード長よりも大きい場合、先頭位置a′−2が真の先頭位置a−2よりも(時間的に)後方にずれる。また、ALPヘッダ解釈部102が先頭位置a′−2に対応したALPパケット長をALP抽出部103に供給するため、ALP抽出部103も2番目のALPパケットの正しい先頭位置a−2を特定できない。
続いて、ALPヘッダ解釈部102は、特定した先頭位置a′−2において2番面のALPパケットにおけるALPヘッダのデータを取得して、2番目のALPパケットのパケット長に基づいて3番目のALPパケットの先頭位置a′−3を特定する。
このとき、ALPヘッダ解釈部102が特定した2番目の先頭位置a′−2が真の先頭位置a−2と相違しているため、仮に2番目のパケット長を正しく検出したとしても、ALPヘッダ解釈部102は、3番目のALPパケットの先頭位置a−3を正しく特定することはできない。
また、ALPヘッダ解釈部102は、2番目のALPパケットにおけるALPヘッダのデータを正しい位置から取得できないことから、ALPヘッダのLengthのデータを実際のLengthの位置から取得することができない。そのため、ALPヘッダ解釈部102が検出するペイロード長が予測不能な値となり、ALPヘッダ解釈部102が特定する3番目のALPパケットの先頭位置a′−3が正しくなく、真の先頭位置a′と相違する。
すなわち、ALPヘッダ解釈部102が特定したALPパケットの先頭位置が真の先頭位置からずれると、その後は、ALPヘッダ解釈部102は、BBヘッダ解釈部101からのALP先頭ポインタによって先頭ALPパケットの正しい先頭位置を特定しない限り、パケット長に基づいて正しい先頭位置を特定することはできない。
このように、ALPヘッダのLengthの値がALPペイロードの真のペイロード長と異なる場合、BBヘッダ解釈部101は、BBヘッダのALP先頭ポインタに基づいてBBパケットPA及びBBパケットPBにおける先頭ALPパケットの先頭位置a−1及び先頭位置b−1を正しく特定する。
一方、ALPヘッダ解釈部102は、ALPパケットのパケット長に基づいて特定したALPパケットの先頭位置a′−2、a′−3、b′−2、b′−3は、真の先頭位置a−2、a−3、b−2、b−3と相違する。なお、BBパケットPAにおける3番目のALPパケットのパケット長に基づいて、BBパケットPBにおける先頭ALPパケットの先頭位置b′−1を特定した場合にも先頭位置b′−1は真の先頭位置b−1と相違する。
したがって、ALPヘッダ解釈部102は、少なくとも先頭ALPパケットの先頭位置以外では、ALPパケットの真の先頭位置と異なる位置に対応したALPパケット長をALP抽出部103に供給するため、ALP抽出部103は、BBパケットにおけるALPパケットの先頭位置を正しく特定することができず、適切にALPパケットを抽出することができないという不具合が生じる。
以上の説明では、ALPヘッダのデータに基づいて検出したペイロード長が真のペイロード長と異なる形態として、ALPヘッダのLengthデータの値をALPペイロードのペイロード長として検出する場合を例にして不具合を例示した。同様の不具合は、ALPヘッダの拡張Lengthの値をALPペイロードのペイロード長として検出する場合、及び、NUMTSデータの値と予め決められた算出式により算出される値をALPペイロードのペイロード長として検出する場合においても生じる。
<ALPデパケタイザ75の第1の実施の形態における補正処理>
以下において、ALPヘッダのデータに基づいて検出したペイロード長が真のペイロード長と異なる場合の不具合を解消するための技術について説明する。
以下において、ALPヘッダのデータに基づいて検出したペイロード長が真のペイロード長と異なる場合の不具合を解消するための技術について説明する。
図4のALPヘッダ解釈部102は、ALPヘッダのデータに基づいて検出したALPヘッダのヘッダ長と、ALPペイロードのペイロード長のうち、検出したペイロード長に変更可能な値の補正値を加算(減算の場合は負の補正値を加算)してペイロード長をプログラマブルに補正する機能を有する。
すなわち、ALPヘッダ解釈部102は、ALPパケットのパケットタイプ000乃至111のうち、有効に使用されるパケットタイプ000、パケットタイプ010、パケットタイプ100、パケットタイプ110、及び、パケットタイプ111ごとに、ALPヘッダのデータに基づいて検出したペイロード長に加算する補正値を設定する。また、ALPヘッダ解釈部102は、パケットタイプごとの補正値を例えば不図示の操作部からのユーザ操作等に基づいて指定された値に設定する。
なお、パケットタイプ000のALPパケットに対する補正値を補正変数α、パケットタイプ010のALPパケットに対する補正値を補正変数β、パケットタイプ100のALPパケットに対する補正値を補正変数γ、パケットタイプ110に対する補正値を補正変数δ、パケットタイプ111に対する補正値を補正変数εで表す。そして、補正値を変更する場合には、補正変数α、β、γ、δ、εのそれぞれの値を変更する。
一方、ALPヘッダ解釈部102は、伝送ライン104からALPヘッダのデータを取得して、次のALPヘッダの先頭位置を特定する際に、取得したALPヘッダのデータに含まれるパケットタイプデータによりALPパケットのパケットタイプを検出する。そして、ALPヘッダ解釈部102は、検出したパケットタイプに応じて、ALPヘッダのデータの中から必要なデータを参照してALPヘッダのヘッダ長を検出する。
なお、ALPヘッダのヘッダ長の検出に関して、ALPヘッダ解釈部102は、パケットタイプ000、パケットタイプ010、パケットタイプ100、及び、パケットタイプ110のALPパケットについては、図8乃至図10で説明したようにパケットタイプ(Packet_Type)の他に、ALPヘッダのPC、HM、S/C、及び、Countの値を適宜参照する。また、ALPヘッダ解釈部102は、パケットタイプ111のALPパケットについては、図11で説明したようにパケットタイプの他に、ALPヘッダのAHFの値を参照する。
また、ALPヘッダ解釈部102は、検出したパケットタイプに応じて、ALPヘッダのデータの中から必要なデータを参照してALPペイロードのペイロード長を検出する。上述のようにALPヘッダ解釈部102は、有効に使用されるパケットタイプ000、010、100、110、及び、111のうちのパケットタイプ111以外におけるALPパケットに対しては、ALPヘッダのLength、又は、拡張Length(Length及びLength_MSB)の値をペイロード長として検出する。また、ALPヘッダ解釈部102は、パケットタイプ111のALPパケットに対しては、NUMTSの値と予め決められた算出式とに基づいてペイロード長を検出(算出)する。
そして、ALPヘッダ解釈部102は、ALPヘッダのデータに基づいて検出したALPペイロードのペイロード長に対してパケットタイプに応じた値の補正変数α、β、γ、δ、εを補正値として加算し、ペイロード長を補正する。なお、補正変数α、β、γ、δ、εの値については後述する。
このペイロード長の補正により、ALPヘッダのデータに基づいて検出したペイロード長が真のペイロード長と異なる場合であっても補正後のペイロード長を真のペイロード長に一致させることができる。
そして、ALPヘッダ解釈部102は、ALPヘッダのデータに基づいて検出したALPヘッダのヘッダ長と、補正後のペイロード長とを加算してALPパケットのパケット長を検出(算出)し、次のALPパケットの先頭位置を特定する。また、ALPヘッダ解釈部102は検出したALPパケット長をALP抽出部103に供給する。
<補正変数α、β、γ、δ、εについて>
ALPヘッダ解釈部102は、補正変数α、β、γ、δ、εのそれぞれの値を、例えば、不図示の操作部のユーザ操作に基づいて決定する。補正変数α、β、γ、δ、εのそれぞれの設定可能な値は、任意の値であってもよいし、予め決められた1又は複数の値に限定されていてもよい。更に、パケットタイプによっては、補正変数は、予め決められた値に固定されていてもよい。
ALPヘッダ解釈部102は、補正変数α、β、γ、δ、εのそれぞれの値を、例えば、不図示の操作部のユーザ操作に基づいて決定する。補正変数α、β、γ、δ、εのそれぞれの設定可能な値は、任意の値であってもよいし、予め決められた1又は複数の値に限定されていてもよい。更に、パケットタイプによっては、補正変数は、予め決められた値に固定されていてもよい。
なお、ALPヘッダ解釈部102は、あるパケットタイプのALPパケットに対する補正変数の値が0である場合には、そのパケットタイプのALPパケットに対しては、ペイロード長の補正を行わない。規格通りに生成されたALPパケットの場合、補正は不要であるため、標準的には、補正変数α、β、γ、δ、εはいずれも0に設定される。
ただし、補正変数の値が0である場合も、ALPヘッダのデータに基づいて検出したペイロード長に0を加算する補正であるとみなすことができる。
また、ALPヘッダ解釈部102は、補正変数α、β、γ、δ、εのそれぞれの値を組み合わせた補正パターン(α、β、γ、δ、ε)により補正変数α、β、γ、δ、εの全ての値を一括して設定してもよい。この場合において、ALPヘッダ解釈部102は、予め決められた値の補正パターン(α、β、γ、δ、ε)を複数記憶しておく。そして、ALPヘッダ解釈部102は、例えば、不図示の操作部のユーザ操作に基づいて、記憶している複数の補正パターンのうちのいずれかの補正パターンの値を補正変数α、β、γ、δ、εの値として設定する。
ここで、パケットタイプ000、パケットタイプ010、パケットタイプ100、及び、パケットタイプ110のALPパケットに対する補正変数α、β、γ、δのそれぞれの適切な値は、図1の送信装置11がALPヘッダのLength、又は、拡張Length(Length及びLength_MSB)として設定する値と、ALPペイロードの真のペイロード長との差分値により決定することができる。
また、パケットタイプ111のALPパケットに対する補正変数εの適切な値は、図1の送信装置11が生成するパケットタイプ111のALPパケットにおけるALPペイロードの真のペイロード長と、NUMTSの値と予め決められた算出式とに基づいて算出されるペイロード長との差分値により決定することができる。
すなわち、パケットタイプ000、パケットタイプ010、パケットタイプ100、パケットタイプ110、及び、パケットタイプ111のALPパケットに対して、ALPヘッダ解釈部102がALPヘッダのデータに基づいて検出するALPペイロードのペイロード長と、真のペイロード長との差分値を補正変数の適切な値とすることができる。
なお、ALPヘッダのデータに基づいて検出するALPペイロードのペイロード長の方が、真のペイロード長よりも小さい場合には補正変数の値は正の値であり、ALPヘッダのデータに基づいて検出するALPペイロードのペイロード長の方が、真のペイロード長よりも大きい場合には補正変数の値は負の値である。
例えば,図14及び図15で説明した例では、パケットタイプ100のALPパケットに対して、ALPヘッダ解釈部102がALPヘッダのデータに基づいて検出するALPペイロードのペイロード長の方が、真のペイロード長よりも40ビット(5バイト)だけ大きな値となる。
したがって、パケットタイプ100のALPパケットに対する補正変数γの適切な値は、−40ビット(―5バイト)である。
また、図14及び図15の例は、実際の事例に基づいており、その事例によれば、パケットタイプ100以外のパケットタイプのALPパケットについては、ALPヘッダ解釈部102がALPヘッダのデータに基づいて検出するALPペイロードのペイロード長と、真のペイロード長とが一致している。したがって、補正変数γ以外の補正変数α、β、δ、εの適切な値は0となる。
このような事例に対応する場合において、ALPヘッダ解釈部102が補正変数α、β、γ、δ、εのそれぞれに設定可能な値を予め決められた1又は複数の値に限定する態様のときには、補正変数α、β、δ、εのそれぞれに設定可能な設定値として0を含み、補正変数γに設定可能な値として0及び−40ビット(−5バイト)を含む。
また、ALPヘッダ解釈部102が、補正変数α、β、γ、δ、εのそれぞれの値を予め決められた補正パターン(α、β、γ、δ、ε)のうちのいずれかに設定する態様の場合には、ALPヘッダ解釈部102は、設定可能な補正パターンとして補正パターン(0、0、0、0、0)と補正パターン(0、0、−40ビット(−5バイト)、0、0)とを有する。
なお、補正変数α、β、γ、δ、εの適切な値は、送信装置11の機種やモード、送信装置11や受信装置12を使用する国などによってある程度は限定される。したがって、補正変数α、β、γ、δ、εの値をユーザが操作部の操作により個別に指定して設定するよりも、予め決められた複数通りの補正パターン(α、β、γ、δ、ε)のうちから適切な補正パターンを選択して補正変数α、β、γ、δ、εの値として設定する方がユーザの負担が少ない。
また、送信装置11の機種やモード、送信装置11や受信装置12を使用する国等をユーザが操作部の操作により指定することで補正変数α、β、γ、δ、εの値として適切な値の補正パターンが適用されるようにしてもよい。更に、送信装置11の機種やモードの情報を受信装置12が取得して補正変数α、β、γ、δ、εの値として適切な値の補正パターンが自動的に適用されるようにしてもよい。
以上のALPデパケタイザ75の第1の実施の形態によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
<図4のALPデパケタイザ75が行うALP抽出処理の手順>
図16は、図4のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
図16は、図4のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
ステップS11では、ALPヘッダ解釈部102は、ALPペイロードのペイロード長の補正値を設定する。すなわち、ALPヘッダ解釈部102は、ALPパケットのパケットタイプ000、パケットタイプ010、パケットタイプ100、パケットタイプ110、及び、パケットタイプ111ごとの補正値である補正変数α、β、γ、δ、εの値として、例えば、操作部のユーザ操作に基づいて所定の値を設定する。処理はステップS11からステップS12に進む。
ステップS12では、BBヘッダ解釈部101は、図3のBBデパケタイザ74から伝送ライン104を通じてALP抽出部103に伝送されるBBパケットからBBヘッダのデータを新たに取得したか否かを判定する。
ステップS12において、BBヘッダのデータを新たに取得していないと判定された場合には、処理はステップS13をスキップしてステップS14に進む。
一方、ステップS12において、BBヘッダのデータを新たに取得したと判定された場合には、処理はステップS12からステップS13に進む。
ステップS13では、BBヘッダ解釈部101は、新たに取得したBBヘッダのデータからALP先頭ポインタを取得し、ALP先頭ポインタをALPヘッダ解釈部102に供給する。処理はステップS13からステップS14に進む。
ステップS14では、ALPヘッダ解釈部102は、図3のBBデパケタイザ74からALP抽出部103に対して伝送されているデータが、BBヘッダ解釈部101からのALP先頭ポインタにより特定されたALPパケットの先頭位置、又は、ALPパケット長により特定されたALPパケットの先頭位置であるか否かを判定する。
ステップS14において、ALPパケットの先頭位置ではないと判定された場合、処理はステップS14からステップS12に戻る。
一方、ステップS14において、ALPパケットの先頭位置であると判定された場合、処理はステップS14からステップS15に進む。
ステップS15では、ALPヘッダ解釈部102は、ALPヘッダのデータを伝送ライン104から取得する。このとき、ALPヘッダ解釈部102は、ALPヘッダのデータからALPパケットのパケットタイプを検出する。処理はステップS15からステップS16に進む。
ステップS16では、ALPヘッダ解釈部102は、ステップS15で取得したALPヘッダのデータに基づいてヘッダの解釈を行いALPパケットのヘッダ長とペイロード長とを検出する。処理はステップS16からステップS17に進む。
ステップS17では、ALPヘッダ解釈部102は、ステップS16で検出したペイロード長を補正する。すなわち、ALPヘッダ解釈部102は、ステップS11で値を設定した補正変数α、β、γ、δ、εのうちALPパケットのパケットタイプに対応する補正変数の値を補正値としてステップS16で検出したペイロード長に加算する。処理はステップS17からステップS18に進む。
ステップS18では、ALPヘッダ解釈部102は、ステップS16で検出したヘッダ長とステップS17で補正したペイロード長とを加算してパケット長を算出し、算出したパケット長に基づいて次のALPパケットの先頭位置を特定する。また、ALPヘッダ解釈部102は算出したALPパケット長を、ALP抽出部103に供給する。処理はステップS18からステップS19に進む。
ステップS19では、ALP抽出部103は、ステップS18においてALPヘッダ解釈部102から取得したALPパケット長に基づいて次のALPパケットの先頭位置を特定する。
また、前回と今回のALPパケットの先頭位置に基づいてALPパケットをBBパケットから抽出する。
また、前回と今回のALPパケットの先頭位置に基づいてALPパケットをBBパケットから抽出する。
ALP抽出部103は、BBパケットから抽出したALPパケットを伝送ライン105を通じてUDP/IPデパケタイザ76(図3参照)に供給する。処理はステップS19からステップS12に戻り、ステップS12から繰り返す。
以上のALPデパケタイザ75の第1の実施の形態のALP抽出処理によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
<ALPデパケタイザ75の第2の実施の形態の構成例>
図17は、ALPデパケタイザ75の第2の実施の形態の構成例を示すブロック図である。
図17は、ALPデパケタイザ75の第2の実施の形態の構成例を示すブロック図である。
なお、図中、図4のALPデパケタイザ75と対応する部分については、同一の符号を付してあり、その説明は適宜省略する。
図17のALPデパケタイザ75は、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112を有する。したがって、図17のALPデパケタイザ75は、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、及び、伝送ライン105を有する点で、図4の場合と共通する。但し、図17のALPデパケタイザ75は、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112が新たに設けられている点で、図4の場合と相違する。
図17において、第1プロトコルエラー検出部111は、BBヘッダ解釈部101が出力する(ALPヘッダ解釈部102に供給する)ALP先頭ポインタを取得する。
また、第1プロトコルエラー検出部111は、ALPヘッダ解釈部102が出力する(ALP抽出部103に供給する)ALPパケット長を取得する。
第1プロトコルエラー検出部111は、各BBパケットにおいて先頭ALPパケットの先頭位置に対応してBBヘッダ解釈部101から取得したALP先頭ポインタに基づく先頭ALPパケットの先頭位置と、ALPヘッダ解釈部102から取得したALPパケット長に基づく先頭ALPパケットの先頭位置との差に基づいて第1プロトコルエラーを検出する。
具体的には、第1プロトコルエラー検出部111は、BBヘッダ解釈部101からのALP先頭ポインタに基づく先頭ALPパケットの先頭位置と、ALPヘッダ解釈部102からのALPパケット長に基づく先頭ALPパケットの先頭位置との差を検出する。
そして、第1プロトコルエラー検出部111は、検出した差が所定の閾値以上である場合には、第1プロトコルエラーが発生したと判定し、検出した差が所定の閾値未満である場合には、第1プロトコルエラーが発生していないと判定する。これにより、第1プロトコルエラー検出部111は、第1プロトコルエラー(第1プロトコルエラーの発生の有無)を検出する。
第1プロトコルエラー検出部111は、第1プロトコルエラーを検出した場合には第1プロトコルエラー信号を不図示のエラー処理部に出力する。エラー処理部が第1プロトコルエラー信号を検知して行うエラーに対する処理は特定の処理に限定されない。
第2プロトコルエラー検出部112は、各ALPパケットの先頭位置に対応してALPヘッダ解釈部102がALPヘッダのデータにより検出したALPパケットのパケットタイプを取得し、パケットタイプに基づいて第2プロトコルエラーを検出する。
すなわち、第2プロトコルエラー検出部112は、ALPヘッダ解釈部102が検出したALPパケットのパケットタイプが図7に示した予備(Reserved)のパケットタイプ001、パケットタイプ011、又は、パケットタイプ110、すなわち、有効に使用されていないパケットタイプであった場合には、第2プロトコルエラーが発生したと判定し、予備のパケットタイプ以外のパケットタイプ000、パケットタイプ010、パケットタイプ100、パケットタイプ110、又は、パケットタイプ111であった場合には、第2プロトコルエラーが発生していないと判定する。これにより、第2プロトコルエラー検出部112は第2プロトコルエラー(第2プロトコルエラーの有無)を検出する。
第2プロトコルエラー検出部112は、第2プロトコルエラーを検出した場合には第2プロトコルエラー信号を不図示のエラー処理部に出力する。エラー処理部が第2プロトコルエラー信号を検知して行うエラーに対する処理は特定の処理に限定されない。
なお、エラー処理部のエラー処理の例としては、第1プロトコルエラー信号又は第2プロトコルエラー信号を検知した場合に、不図示の出力部により、エラーが発生したことをユーザに通知し、補正変数α、β、γ、δ、εの値の変更をユーザに促す処理、ALP抽出部103によるALPパケットの抽出処理を停止させる処理などであってよい。
ALPデパケタイザ75の第2の実施の形態によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、ALPヘッダ解釈部102において、ALPペイロードのペイロード長を補正するための補正変数α、β、γ、δ、εの値が適切ではない場合、ALPヘッダ解釈部102は、ALPヘッダのデータを正しく取得することができないことがある。例えば、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出した場合に、有効に使用されていないパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112により第2プロトコルエラーが検出されるため、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
一方、ALPヘッダ解釈部102が、ALPヘッダのデータを正しく取得していない場合でも、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出したときに、有効なパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112が第2プロトコルエラーを検出しないため、第2プロトコルエラーの発生(検出)に応じてALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することは困難である。
しかしながら、そのような状態が続いた場合、先頭ALPパケットの先頭位置に対応してBBヘッダ解釈部101から出力されるALP先頭ポインタと、ALPヘッダ解釈部102から出力されるALPパケット長とが、一致しなければ、第1プロトコルエラー検出部111が第1プロトコルエラーを検出する。これにより、第1プロトコルエラーの発生(検出)に応じて、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
なお、ALPデパケタイザ75の第2の実施の形態において、第1プロトコルエラー検出部111と第2プロトコルエラー検出部112のうちのいずれか一方のみが設けられ、第1プロトコルエラーと第2プロトコルエラーのいずれか一方のみが検出されるようにしてもよい。この場合においても補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
<図17のALPデパケタイザ75が行うALP抽出処理の手順>
図18は、図17のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
図18は、図17のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
図18のステップS41乃至ステップS49の処理については、図16のステップS11乃至ステップS19の処理と共通するため説明を省略する。
ただし、ステップS43では、BBヘッダ解釈部101から出力されるALP先頭ポインタがALPヘッダ解釈部102と第1プロトコルエラー検出部111とに供給される点、及び、ステップS18では、ALPヘッダ解釈部102から出力されるALPパケット長がALP抽出部103と第1プロトコルエラー検出部111とに供給される点で、図16のステップS13及びステップS18と相違する。
ステップS50では、第1プロトコルエラー検出部111は、ALPヘッダ解釈部102からのALPパケット長に基づく先頭ALPパケットの先頭位置を取得済みか否かを判定する。
ステップS50において、ALPパケット長に基づく先頭ALPパケットの先頭位置を取得済みではないと判定された場合、処理はステップS51及びS52をスキップしてステップS44に進む。
ステップS50において、ALPパケット長に基づく先頭ALPパケットの先頭位置を取得済みである判定された場合には、処理はステップS50からステップS51に進む。
ステップS51では、第1プロトコルエラー検出部111は、BBヘッダ解釈部101から取得したALP先頭ポインタに基づく先頭ALPパケットの先頭位置と、ALPヘッダ解釈部102から取得したALPパケット長に基づく先頭ALPパケットの先頭位置とが異なる(差が所定の閾値以上)か否かを判定する。
ステップS51において、ALP先頭ポインタに基づく先頭ALPパケットの先頭位置と、ALPパケット長に基づく先頭ALPパケットの先頭位置との差が所定の閾値未満である場合には、第1プロトコルエラー検出部111は、ステップS52をスキップしてステップS44に進む。
ステップS51において、ALP先頭ポインタに基づく先頭ALPパケットの先頭位置と、ALPパケット長に基づく先頭ALPパケットの先頭位置との差が所定の閾値以上である場合には、処理はステップS52に進み、第1プロトコルエラー検出部111は、第1プロトコルエラーが発生したことを示す第1プロトコルエラー信号を不図示のエラー処理部に供給する。処理はステップS52からステップS44に進む。
ステップS53では、第2プロトコルエラー検出部112は、ALPヘッダ解釈部102がステップS46でヘッダ解釈により得たALPパケットのパケットタイプが、有効でないか否かを判定する。
ステップS53において、パケットタイプが有効であると判定された場合には、処理はステップS54をスキップしてステップS47に進む。
ステップS53において、パケットタイプが有効でないと判定された場合、処理はステップS53からステップS54に進む。
ステップS54では、第2プロトコルエラー検出部112は、第2プロトコルエラーが発生したことを示す第2プロトコルエラー信号を不図示のエラー処理部に供給する。処理はステップS54からステップS47に進む。
以上のALPデパケタイザ75の第2の実施の形態のALP抽出処理によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、補正変数α、β、γ、δ、εの値が適切か否かを、第1プロトコルエラー又は第2プロトコルエラーによって検出することができる。
<ALPデパケタイザ75の第3の実施の形態の構成例>
図19は、ALPデパケタイザ75の第3の実施の形態の構成例を示すブロック図である。
図19は、ALPデパケタイザ75の第3の実施の形態の構成例を示すブロック図である。
なお、図中、図17のALPデパケタイザ75と対応する部分については、同一の符号を付してあり、その説明は適宜省略する。
図19のALPデパケタイザ75は、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、第2プロトコルエラー検出部112、及び、エラー判定部121を有する。したがって、図19のALPデパケタイザ75は、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112を有する点で、図17の場合と共通する。但し、図19のALPデパケタイザ75は、エラー判定部121が新たに設けられている点で、図17の場合と相違する。
図19において、エラー判定部121は、第1プロトコルエラー検出部111から出力される第1プロトコルエラー信号を取得する。
また、エラー判定部121は、第2プロトコルエラー検出部112から出力される第2プロトコルエラー信号を取得する。
エラー判定部121は、第1プロトコルエラー信号に基づいて、第1プロトコルエラーが予め決められたn回(nは2以上)連続で発生した場合にエラーを確定してエラー信号を不図示のエラー処理部に出力する。ここで、第1プロトコルエラーがn回連続して発生とは、連続するn個のBBパケットがALP抽出部103に伝送されるごとに第1プロトコロルエラーが発生することを意味する。
また、エラー判定部121は、第2プロトコルエラー検出部112からの第2プロトコルエラー信号に基づいて、第2プロトコルエラーが1回でも発生した場合にエラーを確定してエラー信号を不図示のエラー処理部に出力する。
なお、エラー処理部のエラー処理の例としては、第1プロトコルエラー信号又は第2プロトコルエラー信号を検知した場合に、不図示の出力部により、エラーが発生したことをユーザに通知し、補正変数α、β、γ、δ、εの値の変更をユーザに促す処理、ALP抽出部103によるALPパケットの抽出処理を停止させる処理などであってよい。
ALPデパケタイザ75の第3の実施の形態によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、ALPヘッダ解釈部102におけるALPペイロードのペイロード長を補正するための補正変数α、β、γ、δ、εの値が適切ではない場合、ALPヘッダ解釈部102は、ALPヘッダのデータを正しく取得することができないことがある。例えば、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出した場合に、有効に使用されていないパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112により第2プロトコルエラーが検出されるため、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切ではないことを検出することができる。
一方、ALPヘッダ解釈部102が、ALPヘッダのデータを正しく取得していない場合でも、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出したときに、有効なパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112が第2プロトコルエラーを検出しないため、第2プロトコルエラーの発生(検出)に応じてALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することは困難である。
しかしながら、そのような状態が続いた場合、先頭ALPパケットの先頭位置に対応してBBヘッダ解釈部101からのALP先頭ポインタに基づく先頭ALPパケットの先頭位置と、ALPヘッダ解釈部102からALPパケット長に基づく先頭ALPパケットの先頭位置とが、一致しなければ、第1プロトコルエラー検出部111が第1プロトコルエラーを検出する。これにより、第1プロトコルエラーの発生(検出)に応じて、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切ではないことを検出することができる。
また、第1プロトコルエラー検出部111が第1プロトコルエラーを1回だけ検出した場合では、必ずしも補正変数α、β、γ、δ、εの値が適切ではないことに起因するとは限らない。一方、第2プロトコルエラー検出部112が第2プロトコルエラーを1回でも検出した場合には、補正変数α、β、γ、δ、εの値が適切ではない可能性が高い。したがって、第1プロトコルエラー検出部111が第1プロトコルエラーを少なくともn回(nは2以上)連続して検出した場合、又は、第2プロトコルエラー検出部112が第2プロトコルエラーを1回でも検出した場合にエラーを確定することで、補正変数α、β、γ、δ、εの値が適切ではないことを高い確実性で確実に検出することができる。
なお、ALPデパケタイザ75の第3の実施の形態において、第1プロトコルエラー検出部111と第2プロトコルエラー検出部112のうちのいずれか一方のみが設けられ、エラー判定部121は、第1プロトコルエラー又は第2プロトコルエラーのいずれか一方の検出によってエラーを確定してもよい。また、エラー判定部121は、第1プロトコルエラーがn回(複数回)かつ連続して検出された場合にエラーを確定したが、例えば、第1プロトコルエラーが1回検出された場合や、第1プロトコルエラーが連続ではなくn回検出された場合にエラーを確定してもよい。また、エラー判定部121は、第1プロトコルエラーと第2プロトコルエラーとの両方が検出された場合にエラーを確定してもよく、第1プロトコルエラーの検出と第2プロトコルエラーの検出とに基づいてエラー判定部121がエラーを確定する条件は任意に変更し得る。
<図19のALPデパケタイザ75が行うALP抽出処理の手順>
図20は、図19のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
図20は、図19のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
図20のステップS71乃至ステップS84の処理については、図18のステップS41乃至ステップS54の処理と共通するため説明を省略する。
ステップS85では、エラー判定部121は、エラーが確定したか否かを判定する。すなわち、エラー判定部121は、ステップS82で第1プロトコルエラー検出部111から第1プロトコルエラー信号が予め決められた複数回(n回)出力され、かつ、第1プロトコルエラー信号が連続して出力された場合にエラーを確定する。第1プロトコルエラー信号が連続して出力された場合とは、BBヘッダ解釈部101からALP先頭ポインタが出力されるごとに(対象のBBパケットが変わるごとに)、第1プロトコルエラー信号が出力された場合である。
また、エラー判定部121は、ステップS84で第2プロトコルエラー検出部112から第2プロトコルエラー信号が1回でも出力された場合にエラーを確定する。
ステップS85において、エラーが確定していないと判定された場合には、処理はステップS85からステップS86をスキップしてステップS77に進む。
ステップS85において、エラーが確定したと判定された場合には、処理はステップS85からステップS86に進む。
ステップS86では、エラー判定部121は、エラー信号を不図示のエラー処理部に出力する。処理はステップS86からステップS72に戻り、ステップS72から繰り返す。
以上のALPデパケタイザ75の第3の実施の形態のALP抽出処理によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、第1プロトコルエラーの複数回連続した検出又は第2プロトコルエラーの検出によって補正変数α、β、γ、δ、εの値が適切ではないことを高い確実性で検出することができる。
<ALPデパケタイザ75の第4の実施の形態の構成例>
図21は、ALPデパケタイザ75の第4の実施の形態の構成例を示すブロック図である。
図21は、ALPデパケタイザ75の第4の実施の形態の構成例を示すブロック図である。
なお、図中、図19のALPデパケタイザ75と対応する部分については、同一の符号を付してあり、その説明は適宜省略する。
図21のALPデパケタイザ75は、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、第2プロトコルエラー検出部112、エラー判定部121、及び、追加解釈制御部131を有する。したがって、図21のALPデパケタイザ75は、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、第2プロトコルエラー検出部112、及び、エラー判定部121を有する点で、図19の場合と共通する。但し、図21のALPデパケタイザ75は、追加解釈制御部131が新たに設けられている点で、図19の場合と相違する。
図21において、追加解釈制御部131は、エラー判定部121が出力したエラー信号を取得する。そして、追加解釈制御部131は、エラー判定部121からエラー信号を取得すると、ALPヘッダ解釈部102におけるALPペイロードのペイロード長の補正値である補正変数α、β、γ、δ、εの値を変更する。
また、追加解釈制御部131は、ALPヘッダ解釈部102に対して補正変数α、β、γ、δ、εの値として設定する値を指定して、補正変数α、β、γ、δ、εの値を変更する。
ただし、追加解釈制御部131は、ALPヘッダ解釈部102に対して補正変数α、β、γ、δ、εの値を変更のみを指示し、ALPヘッダ解釈部102が補正変数α、β、γ、δ、εの変更後の値を決めてもよい。
ALPヘッダ解釈部102における補正変数α、β、γ、δ、εの値の変更は、例えば、補正変数α、β、γ、δ、εごと、又は、補正変数α、β、γ、δ、εの全ての値を補正パターン(α、β、γ、δ、ε)により一括して行う変更であってもよい。
また、補正変数α、β、γ、δ、εの値の変更が、補正パターン(α、β、γ、δ、ε)により一括して行われる変更である場合に、エラー判定部121がエラー信号を出力するごとに、事前に用意された複数通りの補正パターン(α、β、γ、δ、ε)が、予め決められた順序で補正変数α、β、γ、δ、εの値として適用されるようにしてもよい。
ALPデパケタイザ75の第4の実施の形態によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、ALPヘッダ解釈部102におけるALPペイロードのペイロード長を補正するための補正変数α、β、γ、δ、εの値が適切ではない場合、ALPヘッダ解釈部102は、ALPヘッダのデータを正しく取得することができないことがある。例えば、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出した場合に、有効に使用されていないパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112により第2プロトコルエラーが検出されるため、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
一方、ALPヘッダ解釈部102が、ALPヘッダのデータを正しく取得していない場合でも、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出したときに、有効なパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112が第2プロトコルエラーを検出しないため、第2プロトコルエラーの発生(検出)に応じてALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することは困難である。
しかしながら、そのような状態が続いた場合、BBヘッダ解釈部101から出力されるALP先頭ポインタが示す先頭ALPパケットの先頭位置と、ALPヘッダ解釈部102から出力されるALPパケット長に基づく先頭ALPパケットの位置とが、一致しなければ、第1プロトコルエラー検出部111が第1プロトコルエラーを検出する。これにより、第1プロトコルエラーの発生(検出)に応じて、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
また、第1プロトコルエラー検出部111が第1プロトコルエラーを1回だけ検出した場合では、必ずしも補正変数α、β、γ、δ、εの値が適切ではないことに起因するとは限らない。一方、第2プロトコルエラー検出部112が第2プロトコルエラーを1回でも検出した場合には、補正変数α、β、γ、δ、εの値が適切ではない可能性が高い。したがって、第1プロトコルエラー検出部111が第1プロトコルエラーを少なくともn回(nは2以上)連続して検出した場合、又は、第2プロトコルエラー検出部112が第2プロトコルエラーを1回でも検出した場合にエラーを確定することで、補正変数α、β、γ、δ、εの値が適切か否かを高い確実性で検出することができる。
また、補正変数α、β、γ、δ、εの値が適切ではないことが検出された場合に、補正変数α、β、γ、δ、εの値が自動的に変更されるため、ユーザの手間なく、補正変数α、β、γ、δ、εの値が適切な値に変更される。
なお、ALPデパケタイザ75の第4の実施の形態において、第1プロトコルエラー検出部111と第2プロトコルエラー検出部112のうちのいずれか一方のみが設けられ、エラー判定部121は、第1プロトコルエラー又は第2プロトコルエラーのいずれか一方のみによってエラーを確定してもよい。また、エラー判定部121は、第1プロトコルエラーがn回(複数回)かつ連続して検出された場合にエラーを確定したが、例えば、第1プロトコルエラーが1回検出された場合や、第1プロトコルエラーが連続ではなくn回検出された場合にエラーを確定してもよい。また、エラー判定部121は、第1プロトコルエラーと第2プロトコルエラーとの両方が検出された場合にエラーを確定してもよく、第1プロトコルエラーの検出と第2プロトコルエラーの検出とに基づいてエラー判定部121がエラーを確定する条件は任意に変更し得る。
<図21のALPデパケタイザ75が行うALP抽出処理の手順>
図22は、図21のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
図22は、図21のALPデパケタイザ75が行うALP抽出処理例を説明するフローチャートである。
図22のステップS101乃至ステップS116の処理については、図20のステップS71乃至ステップS86の処理と共通するため説明を省略する。
ただし、ステップS116でエラー判定部121から出力されるエラー信号は、追加解釈制御部131に供給される点が、図20のステップS86と相違する。
ステップS117では、追加解釈制御部131は、ALPヘッダ解釈部102におけるペイロード長の補正値である補正変数α、β、γ、δ、εの値として、全ての補正パターン(α、β、γ、δ、ε)を適用済みか否かを判定する。
ステップS117において、補正変数α、β、γ、δ、εの値として全ての補正パターン(α、β、γ、δ、ε)を適用済みでないと判定した場合には、処理はステップS117からステップS118に進む。
ステップS118では、追加解釈制御部131は、ALPヘッダ解釈部102に対して補正変数α、β、γ、δ、εの値として適用済みでない補正パターン(α、β、γ、δ、ε)を適用して補正値を変更する。処理はステップS118からステップS102に戻り、ステップS102から繰り返す。
一方、ステップS117において、追加解釈制御部131は、補正変数α、β、γ、δ、εの値として全ての補正パターン(α、β、γ、δ、ε)を適用済みであると判定した場合、本フローチャートにおける処理は終了する。
以上のALPデパケタイザ75の第4の実施の形態のALP抽出処理によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、第1プロトコルエラーの複数回連続した検出又は第2プロトコルエラーの検出によって補正変数α、β、γ、δ、εの値が適切か否かを高い確実性で検出することができる。
また、補正変数α、β、γ、δ、εの値が適切ではないことが検出された場合に、補正変数α、β、γ、δ、εの値が自動的に変更されるため、ユーザの手間なく、補正変数α、β、γ、δ、εの値が適切な値に変更される。
<ALPデパケタイザ75の第5の実施の形態の構成例>
図23は、ALPデパケタイザ75の第5の実施の形態の構成例を示すブロック図である。
図23は、ALPデパケタイザ75の第5の実施の形態の構成例を示すブロック図である。
なお、図中、図21のALPデパケタイザ75と対応する部分については、同一の符号を付してあり、その説明は適宜省略する。
図23のALPデパケタイザ75は、同一構成の複数のALPデパケタイザ141A、141B、・・・を有し、各ALPデパケタイザ141A、141B、・・・は、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112を有する。また、図23のALPデパケタイザ75は、BBヘッダ解釈部101、エラー判定部142、及び、選択部143を有する。
したがって、図23のALPデパケタイザ75は、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112を有する点で、図17の場合と共通する。ただし、図23のALPデパケタイザ75は、複数のALPヘッダ解釈部102、ALP抽出部103、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112を有する点、エラー判定部142及び選択部143が新たに設けられている点で、図17の場合と相違する。
図23において、各ALPデパケタイザ141A、141B、・・・のALPヘッダ解釈部102、及び、第1プロトコルエラー検出部111にはBBヘッダ解釈部101からのALPパケット長が供給される。
また、各ALPデパケタイザ141A、141B、・・・のALP抽出部103には、BBパケットを伝送する伝送ライン104が接続され、伝送ライン104を通じて図3のBBデパケタイザ74からのBBパケットが供給される。
したがって、各ALPデパケタイザ141A、141B、・・・におけるALPヘッダ解釈部102、ALP抽出部103、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112は、図17のALPヘッダ解釈部102、ALP抽出部103、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112と同様に動作する。
一方、エラー判定部142は、各ALPデパケタイザ141A、141B、・・・における第1プロトコルエラー検出部111から出力される第1プロトコルエラー信号と、第2プロトコルエラー検出部112から出力される第2プロトコルエラー検出部112から出力される第2プロトコルエラー信号とを取得する。
選択部143には、各ALPデパケタイザ141A、141B、・・・のALP抽出部103により抽出されたALPパケットが伝送ライン105を通じて供給される。選択部143は、各ALPデパケタイザ141A、141B、・・・のALP抽出部103から伝送されたALPパケットのうち、エラー判定部142により指定されたALP抽出部103からのALPパケットを選択して、図3のUDP/IPデパケタイザ76に供給する。
各ALPデパケタイザ141A、141B、・・・におけるALPヘッダ解釈部102には補正変数α、β、γ、δ、εの値として異なる補正パターンP1、P2、・・・の値がそれぞれ設定される。ALPデパケタイザ141A、141B、・・・としては、任意の個数を設けることができる。したがって、ALPデパケタイザ141A、141B、・・・は、適用される得る補正パターンP1、P2、・・・の数だけ設けられる。
ただし、ALPデパケタイザ141A、141B、・・・のうちの1又は複数を予備として設けておき、適用され得る補正パターンが増加したときに予備のALPデパケタイザにおけるALPヘッダ解釈部102の補正変数の値として、増加した補正パターンの値を設定して予備のALPデパケタイザを動作させるようにしてもよい。
エラー判定部142は、各ALPデパケタイザ141A、141B、・・・の第1プロトコルエラー検出部111及び第2プロトコルエラー検出部112から出力される第1プロトコルエラー信号及び第2プロトコルエラー信号を監視し、各ALPデパケタイザ141A、141B、・・・のうち、第1プロトコルエラー信号及び第2プロトコルエラー信号のいずれも出力されていないALPデパケタイザ(例えばALPデパケタイザ141Aとする)を検出する。
そして、エラー判定部142は、選択部143に対して、ALPデパケタイザ141AのALP抽出部103から伝送ライン105により伝送されているALPパケットを選択して図3のUDP/IPデパケタイザ76に供給させる。
なお、図23のALPデパケタイザ75によるALP抽出処理は、次のALP抽出処理の一形態である。
そのALP抽出処理では、図3のBBデパケタイザ74からのBBパケットに含まれるALPパケットのALPヘッダのデータから検出されたペイロード長に対して複数の異なる補正値(補正パターン)が並列的に加算されてペイロード長が補正される。
そして、各補正値に対応した補正後のペイロード長とALPヘッダのヘッダ長とが加算されて各補正値に対応したALPパケットのパケット長が検出される。これにより、各補正値に対応したパケット長により特定された各補正値に対応したALPパケットの先頭位置と、BBパケットのALP先頭ポインタにより特定される先頭ALPパケットの先頭位置とを用いて、第1プロトコルエラーと第2プロトコルエラーとの検出が行われる。
その結果、いずれのエラーも検出されない補正値による補正が有効とされる。以後、有効とされた補正値のみによりペイロード長を補正して、その補正値に対応したALPパケットの先頭位置と、BBパケットのALP先頭ポインタにより特定される先頭ALPパケットの先頭位置とに基づいてBBパケットからALPパケットが抽出される。
ALPデパケタイザ75の第5の実施の形態によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、ALPヘッダ解釈部102におけるALPペイロードのペイロード長を補正するための補正変数α、β、γ、δ、εの値が適切ではない場合、ALPヘッダ解釈部102は、ALPヘッダのデータを正しく取得することができないことがある。例えば、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出した場合に、有効に使用されていないパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112により第2プロトコルエラーが検出されるため、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
一方、ALPヘッダ解釈部102が、ALPヘッダのデータを正しく取得していない場合でも、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出したときに、有効なパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112が第2プロトコルエラーを検出しないため、第2プロトコルエラーの発生(検出)に応じてALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することは困難である。
しかしながら、そのような状態が続いた場合、BBヘッダ解釈部101から出力されるALP先頭ポインタが示す先頭ALPパケットの先頭位置と、ALPヘッダ解釈部102から出力されるALPパケット長に基づく先頭ALPパケットの位置とが、一致しなければ、第1プロトコルエラー検出部111が第1プロトコルエラーを検出する。これにより、第1プロトコルエラーの発生(検出)に応じて、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
また、複数の補正変数α、β、γ、δ、εの値(補正パターン)による補正が並列的に行われて、プロトコルエラーが発生しない補正変数α、β、γ、δ、εの値による補正が有効となるため、プロトコルエラーが発生してから補正変数α、β、γ、δ、εの値を変更するという時間が不要となる。したがって、ALPデパケタイザ75の第2乃至第4の実施の形態と比較してBBパケットからのALPパケットの適切な抽出を即座に開始することができる。
なお、ALPデパケタイザ75の第5の実施の形態において、各ALPデパケタイザ141A、141B、・・・には第1プロトコルエラー検出部111と第2プロトコルエラー検出部112のうちのいずれか一方のみが設けられ、エラー判定部142は、第1プロトコルエラー又は第2プロトコルエラーのいずれか一方のみによってエラーが発生していないALPデパケタイザを検出してもよい。
<ALPデパケタイザ75の第6の実施の形態の構成例>
図24は、ALPデパケタイザ75の第6の実施の形態の構成例を示すブロック図である。
図24は、ALPデパケタイザ75の第6の実施の形態の構成例を示すブロック図である。
なお、図中、図23のALPデパケタイザ75と対応する部分については、同一の符号を付してあり、その説明は適宜省略する。
図24のALPデパケタイザ75は、同一構成の複数のALPデパケタイザ141A、141B、・・・を有し、各ALPデパケタイザ141A、141B、・・・は、ALPヘッダ解釈部102、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112を有する。また、図24のALPデパケタイザ75は、BBヘッダ解釈部101、ALP抽出部103、エラー判定部142、及び、選択部143を有する。
したがって、図24のALPデパケタイザ75は、複数のALPデパケタイザ141A、141B、・・・を有する点、BBヘッダ解釈部101、ALPヘッダ解釈部102、ALP抽出部103、伝送ライン104、伝送ライン105、第1プロトコルエラー検出部111、及び、第2プロトコルエラー検出部112、エラー判定部142、及び、選択部143を有する点で、図23の場合と共通する。
ただし、図24のALPデパケタイザ75は、各LPデパケタイザ141A、141B、・・・が、ALP抽出部103、伝送ライン104、及び、伝送ライン105を有してない点、選択部143に各LPデパケタイザ141A、141BのALPヘッダ解釈部102からのALPパケット長が供給される点、及び、選択部143からALP抽出部103にALPパケット長が供給される点で、図23の場合と相違する。
図24において、ALP抽出部103は、各ALPデパケタイザ141A、141B、・・・には含まれず、ALPデパケタイザ75において1つのみ設けられる。ALP抽出部103には、図3のBBデパケタイザ74からのBBパケットが伝送ライン104を通じて伝送される。また、ALP抽出部103からはALP抽出部103により抽出されたALPパケットが伝送ライン105を通じて図3のUDP/IPデパケタイザ76に伝送される。
選択部143は、各ALPデパケタイザ141A、141B、・・・のALPヘッダ解釈部102から供給されたALPパケット長のうち、エラー判定部142から指定されたALPデパケタイザ141A、141BのALPヘッダ解釈部102からのALPパケット長を選択してALP抽出部103に供給する。
すなわち、エラー判定部142は、各ALPデパケタイザ141A、141B、・・・の第1プロトコルエラー検出部111及び第2プロトコルエラー検出部112から出力される第1プロトコルエラー信号及び第2プロトコルエラー信号を監視し、各ALPデパケタイザ141A、141B、・・・のうち、第1プロトコルエラー信号及び第2プロトコルエラー信号のいずれも出力されていないALPデパケタイザ(例えばALPデパケタイザ141Aとする)を検出する。
そして、エラー判定部142は、検出したALPデパケタイザ(ALPデパケタイザ141A)を選択部143に指定する。選択部143は、エラー判定部142により指定されたALPデパケタイザ141AのALPヘッダ解釈部102から供給されたALPパケット長を選択してALP抽出部103に供給する。
ALP抽出部103は、選択部143からのALPパケット長に基づいて伝送ライン104を伝送されるBBパケットからALPパケット抽出し、抽出したALPパケットを伝送ライン105を介して図3のUDP/IPデパケタイザ76に供給する。
なお、図24のALPデパケタイザ75によるALP抽出処理は、図23と同様に次のALP抽出処理の一形態である。
そのALP抽出処理では、図3のBBデパケタイザ74からのBBパケットに含まれるALPパケットのALPヘッダのデータから検出されたペイロード長に対して複数の異なる補正値(補正パターン)が並列的に加算されてペイロード長が補正される。
そして、各補正値に対応した補正後のペイロード長とALPヘッダのヘッダ長とが加算されて各補正値に対応したALPパケットのパケット長が検出される。これにより、各補正値に対応したパケット長により特定された各補正値に対応したALPパケットの先頭位置と、BBパケットのALP先頭ポインタにより特定される先頭ALPパケットの先頭位置とを用いて、第1プロトコルエラーと第2プロトコルエラーとの検出が行われる。
その結果、いずれのエラーも検出されない補正値による補正が有効とされる。以後、有効とされた補正値のみによりペイロード長が補正され、その補正値に対応したALPパケットの先頭位置に基づいてBBパケットからALPパケットが抽出される。
ALPデパケタイザ75の第6の実施の形態によれば、BBパケットに格納されたALPパケットにおけるALPヘッダのデータに基づいて検出したALPペイロードのペイロード長を補正することができるため、規格準拠の解釈と相違するALPヘッダであっても適切にBBパケットからALPパケットを抽出することができる。
また、ALPヘッダ解釈部102におけるALPペイロードのペイロード長を補正するための補正変数α、β、γ、δ、εの値が適切ではない場合、ALPヘッダ解釈部102は、ALPヘッダのデータを正しく取得することができないことがある。例えば、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出した場合に、有効に使用されていないパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112により第2プロトコルエラーが検出されるため、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
一方、ALPヘッダ解釈部102が、ALPヘッダのデータを正しく取得していない場合でも、ALPヘッダ解釈部102がALPヘッダでない誤った位置のデータからパケットタイプを検出したときに、有効なパケットタイプが検出されることがある。この場合には、第2プロトコルエラー検出部112が第2プロトコルエラーを検出しないため、第2プロトコルエラーの発生(検出)に応じてALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することは困難である。
しかしながら、そのような状態が続いた場合、BBヘッダ解釈部101から出力されるALP先頭ポインタが示す先頭ALPパケットの先頭位置と、ALPヘッダ解釈部102から出力されるALPパケット長に基づく先頭ALPパケットの位置とが、一致しなければ、第1プロトコルエラー検出部111が第1プロトコルエラーを検出する。これにより、第1プロトコルエラーの発生(検出)に応じて、ALPヘッダ解釈部102がALPヘッダのデータを正しく取得していないことを検出することができる。したがって、補正変数α、β、γ、δ、εの値が適切か否かを検出することができる。
また、複数の補正変数α、β、γ、δ、εの値(補正パターン)による補正が並列的に行われて、プロトコルエラーが発生しない補正変数α、β、γ、δ、εの値による補正が有効となるため、プロトコルエラーが発生してから補正変数α、β、γ、δ、εの値を変更するという時間が不要となる。したがって、ALPデパケタイザ75の第6の実施の形態は、ALPデパケタイザ75の第2乃至第4の実施の形態と比較してBBパケットからのALPパケットの適切な抽出を即座に開始することができる。
さらにALPデパケタイザ75の第6の実施の形態は、ALP抽出部103が1つであるため、第5の実施の形態と比較して回路規模(RAM等)を低減できるという利点がある。
なお、ALPデパケタイザ75の第6の実施の形態において、各ALPデパケタイザ141A、141B、・・・には第1プロトコルエラー検出部111と第2プロトコルエラー検出部112のうちのいずれか一方のみが設けられ、エラー判定部142は、第1プロトコルエラー又は第2プロトコルエラーのいずれか一方のみによってエラーが発生していないALPデパケタイザを検出してもよい。
本技術は、ATSC3.0の放送規格に準拠した情報処理装置等に限らず、第1パケットに第2パケットが内包されて伝送される場合に、第1パケットから第2パケットを抽出する技術として適用することができる。
第1パケット及び第パケットは次のような条件満たす。
第1パケットは、ヘッダとペイロードとを有し、ペイロードに第2パケットを内包する。ヘッダには、内包する第2パケットのつなぎ目に関する情報が含まれる。
第2パケットは、ヘッダとペイロードとを有し、ヘッダにはペイロード長に関する情報が含まれる。
実施の形態におけるBBパケットは、第1パケットに対応し、ALPパケットは、第2パケットに対応する。なお、第1パケット及び第2パケットの上記条件は一例であって、必ずしも本技術を適用するための必須条件ではない。
<プログラム>
上述したALPデパケタイザ75の一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
上述したALPデパケタイザ75の一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図25は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、及びドライブ210が接続されている。
入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本技術は、以下のような構成も取ることができる。
<1> 第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部
を有する情報処理装置。
<2> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行う
<1>に記載の情報処理装置。
<3> 前記補正値は変更可能である
<2>に記載の情報処理装置。
<4> 前記処理部は、前記補正値を前記第2パケットのパケットタイプごとの値に設定する
<2>又は<3>に記載の情報処理装置。
<5> 前記処理部は、前記第2パケットのパケットタイプごとの補正値を組み合わせた補正パターンにより前記補正値を前記パケットタイプごとの値に設定する
<4>に記載の情報処理装置。
<6> 前記処理部は、前記第2パケットの前記ヘッダのヘッダ長と前記補正を行った後の前記ペイロード長とにより前記第2パケットのパケット長を算出する
<1>乃至<5>のいずれかに記載の情報処理装置。
<7> 前記処理部は、第1パケットに格納された前記第2パケットのうち、前記第1パケットのヘッダのデータにより特定した先頭の前記第2パケットの先頭位置と、前記先頭の前記第2パケットの1つ前の前記第2パケットの前記パケット長により特定した前記先頭の前記第2パケットの前記先頭位置との差に基づく第1プロトコルエラーを検出する
<6>に記載の情報処理装置。
<8> 前記処理部は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーを検出する
<6>に記載の情報処理装置。
<9> 前記処理部は、
第1パケットに格納された前記第2パケットのうち、前記第1パケットのヘッダのデータにより特定した先頭の前記第2パケットの先頭位置と、前記先頭の前記第2パケットの1つ前の前記第2パケットの前記パケット長により特定した前記先頭の前記第2パケットの前記先頭位置との差に基づく第1プロトコルエラーと、
前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーと
を検出する
<6>に記載の情報処理装置。
<10> 前記処理部は、前記第1プロトコルエラーの検出と前記第2プロトコルエラーの検出とに基づいてエラーを確定する
<9>に記載の情報処理装置。
<11> 前記処理部は、前記第1プロトコルエラーを、予め決められた複数の回数、かつ、対象の前記第1パケットが変わるごとに検出した場合、又は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーを検出した場合にエラーを確定する
<9>に記載の情報処理装置。
<12> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記エラーを確定した場合に前記補正値を変更する
<10>又は<11>に記載の情報処理装置。
<13> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記第1プロトコルエラーを検出した場合に前記補正値を変更する
<7>に記載の情報処理装置。
<14> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記第2プロトコルエラーを検出した場合に前記補正値を変更する
<8>に記載の情報処理装置。
<15> 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第1プロトコルエラー及び前記第2プロトコルエラーが検出されない補正値による前記補正を有効にする
<9>に記載の情報処理装置。
<16> 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第1プロトコルエラーが検出されない補正値による前記補正を有効にする
<7>に記載の情報処理装置。
<17> 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第2プロトコルエラーが検出されない補正値による前記補正を有効にする
<8>に記載の情報処理装置。
<18> 前記処理部は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置に基づいて、第1パケットに格納された前記第2パケットを前記第1パケットから抽出する
<6>乃至<17>のいずれかに記載の情報処理装置。
<19> 処理部
を有する
情報処理装置の
処理部が、第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う
情報処理方法。
<20> コンピュータを、
第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部
として機能させるためのプログラム。
<1> 第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部
を有する情報処理装置。
<2> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行う
<1>に記載の情報処理装置。
<3> 前記補正値は変更可能である
<2>に記載の情報処理装置。
<4> 前記処理部は、前記補正値を前記第2パケットのパケットタイプごとの値に設定する
<2>又は<3>に記載の情報処理装置。
<5> 前記処理部は、前記第2パケットのパケットタイプごとの補正値を組み合わせた補正パターンにより前記補正値を前記パケットタイプごとの値に設定する
<4>に記載の情報処理装置。
<6> 前記処理部は、前記第2パケットの前記ヘッダのヘッダ長と前記補正を行った後の前記ペイロード長とにより前記第2パケットのパケット長を算出する
<1>乃至<5>のいずれかに記載の情報処理装置。
<7> 前記処理部は、第1パケットに格納された前記第2パケットのうち、前記第1パケットのヘッダのデータにより特定した先頭の前記第2パケットの先頭位置と、前記先頭の前記第2パケットの1つ前の前記第2パケットの前記パケット長により特定した前記先頭の前記第2パケットの前記先頭位置との差に基づく第1プロトコルエラーを検出する
<6>に記載の情報処理装置。
<8> 前記処理部は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーを検出する
<6>に記載の情報処理装置。
<9> 前記処理部は、
第1パケットに格納された前記第2パケットのうち、前記第1パケットのヘッダのデータにより特定した先頭の前記第2パケットの先頭位置と、前記先頭の前記第2パケットの1つ前の前記第2パケットの前記パケット長により特定した前記先頭の前記第2パケットの前記先頭位置との差に基づく第1プロトコルエラーと、
前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーと
を検出する
<6>に記載の情報処理装置。
<10> 前記処理部は、前記第1プロトコルエラーの検出と前記第2プロトコルエラーの検出とに基づいてエラーを確定する
<9>に記載の情報処理装置。
<11> 前記処理部は、前記第1プロトコルエラーを、予め決められた複数の回数、かつ、対象の前記第1パケットが変わるごとに検出した場合、又は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーを検出した場合にエラーを確定する
<9>に記載の情報処理装置。
<12> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記エラーを確定した場合に前記補正値を変更する
<10>又は<11>に記載の情報処理装置。
<13> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記第1プロトコルエラーを検出した場合に前記補正値を変更する
<7>に記載の情報処理装置。
<14> 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記第2プロトコルエラーを検出した場合に前記補正値を変更する
<8>に記載の情報処理装置。
<15> 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第1プロトコルエラー及び前記第2プロトコルエラーが検出されない補正値による前記補正を有効にする
<9>に記載の情報処理装置。
<16> 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第1プロトコルエラーが検出されない補正値による前記補正を有効にする
<7>に記載の情報処理装置。
<17> 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第2プロトコルエラーが検出されない補正値による前記補正を有効にする
<8>に記載の情報処理装置。
<18> 前記処理部は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置に基づいて、第1パケットに格納された前記第2パケットを前記第1パケットから抽出する
<6>乃至<17>のいずれかに記載の情報処理装置。
<19> 処理部
を有する
情報処理装置の
処理部が、第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う
情報処理方法。
<20> コンピュータを、
第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部
として機能させるためのプログラム。
1 伝送システム, 11 送信装置, 12 受信装置, 75、141A、141B ALPデパケタイザ, 101 BBヘッダ解釈部, 102 ALPヘッダ解釈部, 103 ALP抽出部, 111 第1プロトコルエラー検出部, 112 第2プロトコルエラー検出部, 121 エラー判定部, 131 追加解釈部
Claims (20)
- 第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部
を有する情報処理装置。 - 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行う
請求項1に記載の情報処理装置。 - 前記補正値は変更可能である
請求項2に記載の情報処理装置。 - 前記処理部は、前記補正値を前記第2パケットのパケットタイプごとの値に設定する
請求項2に記載の情報処理装置。 - 前記処理部は、前記第2パケットのパケットタイプごとの補正値を組み合わせた補正パターンにより前記補正値を前記パケットタイプごとの値に設定する
請求項4に記載の情報処理装置。 - 前記処理部は、前記第2パケットの前記ヘッダのヘッダ長と前記補正を行った後の前記ペイロード長とにより前記第2パケットのパケット長を算出する
請求項1に記載の情報処理装置。 - 前記処理部は、第1パケットに内包された前記第2パケットのうち、前記第1パケットのヘッダのデータにより特定した先頭の前記第2パケットの先頭位置と、前記先頭の前記第2パケットの1つ前の前記第2パケットの前記パケット長により特定した前記先頭の前記第2パケットの前記先頭位置との差に基づく第1プロトコルエラーを検出する
請求項6に記載の情報処理装置。 - 前記処理部は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーを検出する
請求項6に記載の情報処理装置。 - 前記処理部は、
第2パケットに内包された前記第2パケットのうち、前記第1パケットのヘッダのデータにより特定した先頭の前記第2パケットの先頭位置と、前記先頭の前記第2パケットの1つ前の前記第2パケットの前記パケット長により特定した前記先頭の前記第2パケットの前記先頭位置との差に基づく第1プロトコルエラーと、
前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーと
を検出する
請求項6に記載の情報処理装置。 - 前記処理部は、前記第1プロトコルエラーの検出と前記第2プロトコルエラーの検出とに基づいてエラーを確定する
請求項9に記載の情報処理装置。 - 前記処理部は、前記第1プロトコルエラーを、予め決められた複数の回数、かつ、対象の前記第1パケットが変わるごとに検出した場合、又は、前記第2パケットの前記パケット長により特定した次の前記第2パケットの先頭位置からのデータにより検出したパケットタイプに基づく第2プロトコルエラーを検出した場合にエラーを確定する
請求項9に記載の情報処理装置。 - 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記エラーを確定した場合に前記補正値を変更する
請求項10に記載の情報処理装置。 - 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記第1プロトコルエラーを検出した場合に前記補正値を変更する
請求項7に記載の情報処理装置。 - 前記処理部は、前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、前記第2プロトコルエラーを検出した場合に前記補正値を変更する
請求項8に記載の情報処理装置。 - 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第1プロトコルエラー及び前記第2プロトコルエラーが検出されない補正値による前記補正を有効にする
請求項9に記載の情報処理装置。 - 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第1プロトコルエラーが検出されない補正値による前記補正を有効にする
請求項7に記載の情報処理装置。 - 前記ペイロード長に所定の補正値を加算することにより前記補正を行い、かつ、複数の異なる前記補正値により前記ペイロード長を補正し、前記第2プロトコルエラーが検出されない補正値による前記補正を有効にする
請求項8に記載の情報処理装置。 - 前記処理部は、前記第2パケットの前記パケット長により特定した前記第2パケットの先頭位置に基づいて、第1パケットに格納された前記第2パケットを前記第1パケットから抽出する
請求項6に記載の情報処理装置。 - 処理部
を有する
情報処理装置の
処理部が、第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う
情報処理方法。 - コンピュータを、
第1パケットに内包された第2パケットのヘッダのデータに基づいて得られたペイロード長に対して補正を行う処理部
として機能させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020014934A JP2021122099A (ja) | 2020-01-31 | 2020-01-31 | 情報処理装置、情報処理方法、及び、プログラム |
PCT/JP2021/001416 WO2021153301A1 (ja) | 2020-01-31 | 2021-01-18 | 情報処理装置、情報処理方法、及び、プログラム |
KR1020227024707A KR20220134537A (ko) | 2020-01-31 | 2021-01-18 | 정보 처리 장치, 정보 처리 방법 및 프로그램 |
US17/794,328 US20230046212A1 (en) | 2020-01-31 | 2021-01-18 | Information processing device, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020014934A JP2021122099A (ja) | 2020-01-31 | 2020-01-31 | 情報処理装置、情報処理方法、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021122099A true JP2021122099A (ja) | 2021-08-26 |
Family
ID=77078339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020014934A Pending JP2021122099A (ja) | 2020-01-31 | 2020-01-31 | 情報処理装置、情報処理方法、及び、プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230046212A1 (ja) |
JP (1) | JP2021122099A (ja) |
KR (1) | KR20220134537A (ja) |
WO (1) | WO2021153301A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5339408B2 (ja) | 2008-07-30 | 2013-11-13 | 日本電気株式会社 | Ts信号異常検出装置、ts切替器、stlシステム、ts系統切替方法、及びts信号異常判別方法 |
US10623535B2 (en) * | 2015-07-15 | 2020-04-14 | Sony Corporation | Signal processing apparatus and signal processing method |
JP2019216368A (ja) * | 2018-06-13 | 2019-12-19 | ソニーセミコンダクタソリューションズ株式会社 | 復調回路、処理方法、および処理装置 |
-
2020
- 2020-01-31 JP JP2020014934A patent/JP2021122099A/ja active Pending
-
2021
- 2021-01-18 KR KR1020227024707A patent/KR20220134537A/ko unknown
- 2021-01-18 US US17/794,328 patent/US20230046212A1/en active Pending
- 2021-01-18 WO PCT/JP2021/001416 patent/WO2021153301A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021153301A1 (ja) | 2021-08-05 |
US20230046212A1 (en) | 2023-02-16 |
KR20220134537A (ko) | 2022-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100913108B1 (ko) | 수신 시스템 및 데이터 처리 방법 | |
TWI501579B (zh) | 使用透過單播系統接收之增量冗餘以在廣播系統中接收資料的接收器與接收方法 | |
US20110310978A1 (en) | Multilayer decoding using persistent bits | |
WO2011091850A1 (en) | Error correction based on replacing padding bits by additional parity check bits | |
EP2115981A1 (en) | Method and apparatus for code block segmentation in a mobile communication system | |
TWI363519B (en) | Method for erasure error correction process and integrated circuit device thereof | |
JP4814809B2 (ja) | データ送信装置及びそのプログラム | |
US8599933B2 (en) | Robust PID filtering for DVB-H | |
US9800371B2 (en) | Method for transmitting and receiving packets in communication system using error correction code | |
JP5569989B2 (ja) | 信号を符号化する方法および装置 | |
US20200044774A1 (en) | Reception apparatus, transmission apparatus, and data processing method | |
KR101813051B1 (ko) | 비디오 및 오디오 통신 시스템에서 패킷 오류 표시 장치 및 방법 | |
RU2646346C2 (ru) | Устройство и способ передачи и приема пакета с прямой коррекцией ошибок | |
WO2021153301A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
KR101367209B1 (ko) | 디지털 방송 수신기 및 그 스트림 처리 방법 | |
CA2645612C (en) | Dual transmission stream generating device and method | |
JP4839386B2 (ja) | データ受信装置及びそのプログラム | |
KR100916702B1 (ko) | 전송 스트림 패킷의 채널 디코딩 장치 및 그 방법 | |
WO2016063728A1 (ja) | 受信装置、および、受信装置の受信方法、並びにプログラム | |
JP7164347B2 (ja) | 送信装置及び受信装置 | |
KR20160140359A (ko) | 송신 장치, 수신 장치 및 그 제어 방법 | |
EP2961176B1 (en) | Correcting errors in a digital media transport stream | |
WO2016063729A1 (ja) | 受信装置、および、受信装置の受信方法、並びにプログラム | |
KR20100007468A (ko) | 채널 디코딩시 에러 처리 방법 및 장치 | |
JP2010278641A (ja) | ビタビ復号装置および地上デジタル放送受信装置 |