A method and apparatus for video coding are disclosed. According to this method, a current block is received at an encoder side or compressed data comprising the current block is received at a decoder side, where the current block is partitioned into two geometric prediction units. Motion information for the two geometric prediction units is determined. Weighting information for the two geometric prediction units is determined. A motion storage type variable based on the weighting information is determined, where the motion information associated with the current block is stored according to a value of the motion storage type variable. A geometric predictor for the current block is generated by blending two geometric predictors according to the weighting information, where the two geometric predictors are derived for the two geometric prediction units using the motion information associated with the current block.

High-Efficiency Video Coding (HEVC) is a new international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). HEVC is based on the hybrid block-based motion-compensated DCT-like transform coding architecture. The basic unit for compression, termed coding unit (CU), is a 2N×2N square block, and each CU can be recursively split into four smaller CUs until the predefined minimum size is reached. Each CU contains one or multiple prediction units (PUs).
To achieve the best coding efficiency of hybrid coding architecture in HEVC, there are two kinds of prediction modes (i.e., Intra prediction and Inter prediction) for each PU. For Intra prediction modes, the spatial neighbouring reconstructed pixels can be used to generate the directional predictions.
After the development of HEVC standard, another merging video coding standard, named as Versatile Video Coding (VVC), is being developed under Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11. Various new coding tools along with some existing coding tools have been evaluated for VVC. Among these coding tools, Geometric Merge mode (GEO) is also proposed for VVC. A brief review of GEO is enclosed as follows.
Geometric Merge Mode (GEO)
Geometric Merge mode is proposed in JVET-P0068 (H. Gao, et al., "CE4: CE4-1.1, CE4-1.2 and CE4-1.14: Geometric Merge Mode (GEO)", ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 16th Meeting: Geneva, CH, 1-11 Oct. 2019, Document: P0068), which uses the same predictors blending concept as TPM and extends the blending masks up to 140 different modes with 32 angles and 5 distance offsets.
The 140 modes is defined as CE4-1.1 in P0068. To further reduced the complexity, in CE4-1.2 108 modes and 80 modes GEO are tested. In CE4-1.14, a TPM-like simplified motion storage is tested.
FIG. 1A illustrates partition shapes (111-112) for TPM in VTM-6.0 and FIG. 1B illustrates additional shapes (111-119) being proposed for non-rectangular Inter blocks.
Similarly to TPM, the proposed GEO partitioning for Inter is allowed for uni-predicted blocks not smaller than 8×8 in order to have the same memory bandwidth usage as the bi-predicted blocks at the decoder side. Motion vector prediction is performed for GEO partitions individually. Also, the blending between two predictions is applied on inner boundary.
The split boundary of geometric Merge mode is descripted by angle φi and distance offset ρi as shown in FIG. 2. Angle φi represents a quantized angle between 0 and 360 degrees and distance offset ρi represents a quantized offset of the largest distance ρmax. In addition, the split directions overlapped with binary tree splits and TPM splits are excluded.
Decoding Process for GEOInter Blocks
Texts of decoding process for GEO Inter blocks (i.e., wedge Inter blocks) are proposed in an attachment to JVET-P0884 (H. Gao, et al., "Simplified GEO without multiplication and minimum blending mask storage (harmonization of JVET-P0107, JVET-P0264 and JVET-P0304)", ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 16th Meeting: Geneva, CH, 1-11 Oct. 2019, Document: JVET-P0884). The texts of decoding process for GEO Inter blocks modified over JVET-O2001 as disclosed in an attachment to JVET-P0884 are listed below in order to set a base line practice of conventional derivation of weight index and motion index. The section, clause, table and drawing numberings are kept the same as the modified JVET-O2001.
8.5.7 Decoding Process for Wedge Inter Blocks
188.8.131.52 General
This process is invoked when decoding a coding unit with wedge_merge_mode[xCb][yCb] equal to 1.
Inputs to this process are:—                a luma location (xCb, yCb) specifying the top-left sample of the current coding block relative to the top-left luma sample of the current picture,        a variable cbWidth specifying the width of the current coding block in luma samples,        a variable cbHeight specifying the height of the current coding block in luma samples,        the luma motion vectors in 1/16 fractional-sample accuracy mvA and mvB,        the chroma motion vectors mvCA and mvCB,        the reference indices refIdxA and refIdxB,        the prediction list flags predListFlagA and predListFlagB.
Outputs of this process are:                an (cbWidth)×(cbHeight) array predSamplesL of luma prediction samples,        an (cbWidth/Sub WidthC)×(cbHeight/SubHeightC) array predSamplesCb of chroma prediction samples for the component Cb,        an (cbWidth/Sub WidthC)×(cbHeight/SubHeightC) array predSamplesCr of chroma prediction samples for the component Cr.
Let predSamplesLAL and predSamplesLBL be (cbWidth)×(cbHeight) arrays of predicted luma sample values and, predSamplesLACb, predSamplesLBCb, predSamplesLACr and predSamplesLBCr be (cbWidth/Sub WidthC)×(cbHeight/SubHeightC) arrays of predicted chroma sample values.
The predSamplesL, predSamplesCb and predSamplesCr are derived by the following ordered steps:
1. For N being each of A and B, the following applies:                The reference picture consisting of an ordered two-dimensional array refPicLNL of luma samples and two ordered two-dimensional arrays refPicLNCb and refPicLNCr of chroma samples is derived by invoking the process specified in clause 22.214.171.124 with X set equal to predListFlagN andrefIdxX set equal to refIdxN as input.        The array predSamplesLNL is derived by invoking the fractional sample interpolation process specified in clause 18.104.22.168 with the luma location (xCb, yCb), the lumacoding block widthsbWidth set equal tocbWidth, the lumacoding block heightsbHeight set equal tocbHeight, the motion vector offset mvOffset set equal to (0, 0), the motion vector mvLX set equal to mvN and the reference array refPicLXL set equal torefPicLNL, the variable bdofFlag set equal to FALSE, and the variable cIdx is set equal to 0 as inputs.        The array predSamplesLNCb is derived by invoking the fractional sample interpolation process specified in clause 18.104.22.168 with the luma location (xCb, yCb), the coding block widthsbWidth set equal tocbWidth/SubWidthC, the coding block heightsbHeight set equal tocbHeight/SubHeightC, the motion vector offset mvOffset set equal to (0, 0), the motion vector mvLX set equal to mvCN, and the reference array refPicLXCb set equal to refPicLNCb, the variable bdofFlag set equal to FALSE, and the variable cIdx is set equal to 1 as inputs.        The array predSamplesLNCr is derived by invoking the fractional sample interpolation process specified in clause 184.108.40.206 with the luma location (xCb, yCb), the coding block widthsbWidth set equal tocbWidth/SubWidthC, the coding block heightsbHeight set equal tocbHeight/SubHeightC, the motion vector offset mvOffset set equal to (0, 0), the motion vector mvLX set equal to mvCN, and the reference array refPicLXCr set equal to refPicLNCr, the variable bdofFlag set equal to FALSE, and the variable cIdx is set equal to 2 as inputs.
2. The partition angle and distance of the wedge merge mode angleIdx and distanceIdex are set according to the value of wedge partition idx[xCb][yCb] as specified in Table 8-10
3. The prediction samples inside the current lumacoding block, predSamplesL[xL][yL] with xL=0..cbWidth−1 and yL=0..cbHeight−1, are derived by invoking the weighted sample prediction process for wedge merge mode specified in clause 184.108.40.206 with the coding block widthnCbW set equal tocbWidth, the coding block heightnCbH set equal tocbHeight, the sample arrays predSamplesLAL and predSamplesLBL, and the variables angleIdx and distanceIdx, and cIdx equal to 0 as inputs.
4. The prediction samples inside the current chroma component Cbcoding block, predSamplesCb[xC][yC] with xC=0..cbWidth/SubWidthC−1 and yC=0..cbHeight/SubHeightC−1, are derived by invoking the weighted sample prediction process for wedge merge mode specified in clause 184.108.40.206 with the coding block width nCbW set equal to cbWidth/SubWidthC, the coding block height nCbH set equal to cbHeight/SubHeightC, the sample arrays predSamplesLACb and predSamplesLBCb, and the variables angleIdx and distanceIdx, and cIdx equal to 1 as inputs.
5. The prediction samples inside the current chroma component Cr coding block, predSamplesCr[xC][yC] with xC=0..cbWidth/SubWidthC−1 and yC=0..cbHeight/SubHeightC−1, are derived by invoking the weighted sample prediction process for wedge merge mode specified in clause 126.96.36.199 with the coding block width nCbW set equal to cbWidth/SubWidthC, the coding block height nCbH set equal to cbHeight/SubHeightC, the sample arrays predSamplesLACr and predSamplesLBCr, and the variables angleIdx and distanceIdx, and cIdx equal to 2 as inputs.
6. The motion vector storing process for merge wedge mode specified in clause 184.108.40.206 is invoked with the luma coding block location (xCb, yCb), the luma coding block width cbWidth, the luma coding block height cbHeight, the partition direction angleIdx and distanceIdx, the luma motion vectors mvA and mvB, the reference indices refIdxA and refIdxB, and the prediction list flags predListFlagA and predListFlagB as inputs.
TABLE 8-10Specification of the angleldx and distanceldx values based on the wedge_partition_idx value.wedge _partition_idx01234567891011121314151617angleIdx000111122223333444distanceIdx123012301230123012wedge _partition_idx181920212223242526272829303132333435angleIdx455556667777888899distanceIdx301231230123012301wedge _partition_idx363738394041424344454647484950515253angleIdx9910101010111111111212121313131414distanceIdx230123012312312312wedge _partition_idx545556575859606162636465666768697071angleIdx141515151616161717171818181919192020distanceIdx312312312312312312wedge _partition_idx72737475767778798081angleIdx20212121222222232323distanceIdx3123123123
188.8.131.52 Weighted Sample Prediction Process for Wedge Merge Mode
Inputs to this process are:                two variables nCbW and nCbH specifying the width and the height of the current coding block,        two (nCbW)×(nCbH) arrays predSamplesLA and predSamplesLB,        a variable angleIdx specifying the angle index of the wedge partition,        a variable distanceIdxspecizing the distance idx of the wedge partition,        a variable cIdx specifying colour component index.
Output of this process is the (nCbW)×(nCbH) array pbSamples of prediction sample values.
The variable bitDepth is derived as follows:                If cIdx is equal to 0, bitDepth is set equal to BitDepthY.        If cIdx is equal to 0, nW and nH are set equal to nCbW and nCbH respectively, otherwise (cIdx is not equal to 0) nW and nH are set equal to nCbW×SubWidthC and nCbH×SubHeightC respectively.        If cIdx is equal to 0, subW and subH are both set 1, otherwise (cIdx is not equal to 0) subW and subH are set equal to SubWidthC and SubHeightC respectively.        Otherwise, bitDepth is set equal to BitDepthC.
Variables shift1 and offset1 are derived as follows:                The variable shift1 is set equal to Max(5, 17—bitDepth).        The variable offset1 is set equal to 1<<(shift1−1).
The values of the following variables are set:                hwRatio is set to nH/nW        displacementX is set to angleIdx        displacementY is set to (displacementX+6)%24        If angleIdx>=10 && angleIdx<=20, PART1 and PART2 are set equal to A and B respectively, otherwise PART1 and PART2 are set equal to B and A respectively.        rho is set to the following value using the look-up tables denoted as Dis, specified in Table 8-12:rho=(Dis[displacementX]<<8)+(Dis[displacementY]<<8)
If one of the following conditions is true, variable shiftHor is set equal to 0:
angleIdx % 12 is equal to 6
angleIdx % 12 is not equal to 0 and hwRatio>1
Otherwise, shiftHor is set equal to 1.
If shiftHor is equal to 0, offsetX and offsetY are derived as follows:
offsetX=(256−nW)>>1offsetY=(256−nH)>>1+angleIdx<12?(distanceIdx*nH)>>3:—((distanceIdx*nH)>>3)
Otherwise, if shiftHor is equal to 1, offsetX and offsetY are derived as follows:offsetX=(256−nW)>>1+angleIdx<12?(distanceIdx*nW)>>3:−((distanceIdx*nW)»3)
offsetY=(256−nH)>>1
The prediction sample valuespbSamples[x][y] with x=0..nCbW−1 and y=0..nCbH−1 is set according the following ordered steps:
The variable weightIdx and weightIdxAbs are calculated using the look-up table Table 8-12 as follows:weightIdx=(((x*subW+offsetX)<<1)+1)*Dis[displacementX]+(((y*subH+offsetY)<<1)+1))*Dis[displacementY]−rho.
weightIdxAbs=Clip3(0, 26, abs(weightIdx)).
The value of sampleWeight is derived according to according to Table 8-13 as follows: sampleWeight=weightIdx<=0?WedgeFilter[weightIdxAbs]: 8—WedgeFilter[weightIdxAbs]
NOTE—The value of sample sampleWeightL[x][y] can also be derived from sampleWeightL[x-shiftX][y-shiftY]. If the angleIdx is larger than 4 and smaller than 12, or angleIdx is larger than 20 and smaller than 24, shiftX is the tangent of the split angle and shiftY is 1, otherwise shiftX is 1 of the split angle and shiftY is cotangent of the split angle. If tangent (resp. cotangent) value is infinity, shiftX is 1 (resp. 0) or shift Y is 0 (reps. 1).                The prediction sample value pbSamples[x][y] is derived as follows:pbSamples[x][y]=Clip3(0,(1<<bitDepth)−1,(predSamplesLPART1[x][y]*(8−sampleWeight)+predSamplesLPART2[x][y]*sampleWeight+offset1)>>shift1)
TABLE 8-12Look-up table Dis for derivation of wedgemetric partitioning distance.idx01234567891011Dis[idx]8888420−2−4−8−8−8idx121314151617181920212223Dis[idx]−8−8−8−8−4−2024888
TABLE 8-13Filter weight look-up table WedgeFilter for derivationof wedge partitioning filter weights.idx012345678910111213Wedge-44445555555666Filter[idx]idx14151617181920212223242526Wedge-6666777777778Filter[idx]
188.8.131.52 Motion Vector Storing Process for Wedge Merge Mode
This process is invoked when decoding a coding unit with MergeWedgeFlag[xCb][yCb] equal to 1.
Inputs to this process are:                a luma location (xCb, yCb) specifying the top-left sample of the current coding block relative to the top-left luma sample of the current picture,        a variable cbWidth specifying the width of the current coding block in luma samples,        a variable cbHeight specifying the height of the current coding block in luma samples,        the luma motion vectors in 1/16 fractional-sample accuracymvA and mvB,        the reference indices refIdxA and refIdxB,        the prediction list flags predListFlagA and predListFlagB.        The variables numSbX and numSbY specifying the number of 4×4 blocks in the current coding block in horizontal and vertical direction are set equal to numSbX=cbWidth>>2 and numSbY=cbHeight>>2.
The value of the following variables are set:                displacementX is set to angleIdx, displacementY is set to (displacementX+6)%24−        hwRatio is set equal to nCbH/nCbW
If one of the following conditons is true, variable shiftHor is set equal to 0:                angleIdx % 12 is equal to 8        angleIdx % 12 is not equal to 0 and hwRatio>1
Otherwise, shiftHor is set equal to 1.
partIdx is set to angleIdx>=10 && angleIdx<=20?1:0.
If shiftHor is equal to 0, offsetX and offsetY are derived as follows:—                offsetX=(64−numSbX)>>1        offsetY=(64−numSbY)>>1+angleIdx<12?(distanceIdx*nCbH)>>5: −((distanceIdx*nCbH)>>5)
Otherwise, if shiftHor is equal to 1, offsetX and offsetY are derived as follows:                offsetX=(64−numSbX)>>1+angleIdx<12?(distanceIdx*nCbW)>>5: −((distanceIdx*nCbW)>>5)
offsetY=(64−numSbY)>>1
The value of the variable rho is derived according to the equation below and according to the D is lookup table specified in Table 8-12:                rho=(Dis[displacementX]<<8)+(Dis[displacementY]<<8).
motionOffset is set equal to the following value using the look-up tables denoted as Dis, specified in Table 8-11 and Table 8-12:                motionOffset=3*Dis[displacementX]+3*Dis[displacementY].
For each 4×4 subblock at subblock index (xSbIdx, ySbIdx) with xSbIdx=0..numSbX−1, and ySbIdx=0..numSbY−1, the following applies:
The variable motionIdx is calculated using the look-up table Table 8-12 as following:                motionIdx=(((xSbIdx+offsetX)<<3)+1)*Dis[displacementX]+(((xSbIdx+offsetY<<3)+1))*Dis[displacementY]−rho+motionOffset
The variable sType is derived as follows:                sType=abs(motionIdx)<32?2:motionIdx<=0?partIdx: 1-partIdx        Depending on the value of sType, the following assignments are made:—        If sType is equal to 0, the following applies:        predFlagL0=(predListFlagA==0)?1:0 (8-853)        predFlagL1=(predListFlagA==0)?0:1 (8-854)        refIdxL0=(predListFlagA==0)?refIdxA: —1 (8-855)        refIdxL1=(predListFlagA==0)?−1: refIdxA (8-856)        mvL0[0]=(predListFlagA==0)?mvA[0]: 0 (8-857)        mvL0[1]=(predListFlagA==0)?mvA[1]: 0 (8-858)        mvL1[0]=(predListFlagA==0)?0: mvA[0] (8-859)        mvL1[1]=(predListFlagA==0)?0: mvA[1] (8-860)        Otherwise, if sType is equal to 1 or (sType is equal to 2 and predListFlagA+predListFlagB is not equal to 1), the following applies:        predFlagL0=(predListFlagB==0)?1:0 (8-861)        predFlagL1=(predListFlagB==0)?0:1 (8-862)        refIdxL0=(predListFlagB==0)?refIdxB: −1 (8-863)        refIdxL1=(predListFlagB==0)?−1: refIdxB (8-864)        mvL0[0]=(predListFlagB==0)?mvB[0]: 0 (8-865)        mvL0[1]=(predListFlagB==0)?mvB[1]: 0 (8-866)        mvL1[0]=(predListFlagB==0)?0: mvB[0] (8-867)        mvL1[1]=(predListFlagB==0)?0: mvB[1] (8-868)        Otherwise (sType is equal to 2 and predListFlagA+predListFlagB is equal to 1), the following applies:        predFlagL0=1 (8-869)        predFlagL1=1 (8-870)        refIdxL0=(predListFlagA==0)?refIdxA: refIdxB (8-871)        refIdxL1=(predListFlagA==0)?refIdxB: refIdxA (8-872)        mvL0[0]=(predListFlagA==0)?mvA[0]: mvB[0] (8-873)        mvL0[1]=(predListFlagA==0)?mvA[1]: mvB[1] (8-874)        mvL1[0]=(predListFlagA==0)?mvB[0]: mvA[0] (8-875)        mvL1[1]=(predListFlagA==0)?mvB[1]: mvA[1] (8-876)        The following assignments are made for x=0..3 and y=0..3:        MvL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL0 (8-877)        MvL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL1 (8-878) RefIdxL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL0 (8-879)        RedIdxL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL1 (8-880)        PredFlagL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL0 (8-881)        PredFlagL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL1 (8-882)
In the following disclosure, the syntax design disclosed above will be used as references to illustrate the present invention.

Method and apparatus of unified weight and motion indexes derivation for geometric merge mode in video coding


A rotatably adjustable binding assembly provides for quick and easy rotational adjustment of the binding assembly from a preset first rotational position to a preset second rotational position while a person's foot remains engaged in the binding assembly. The binding assembly includes a detent mechanism mounted under a foot base that engages at least one plate element whereby engagement of the detent mechanism with the plate element secures the binding assembly at a first or second rotational position. Operation of a foot tab actuates the detent mechanism, thereby permitting a "hands free" method of adjusting the rotational position of the binding assembly.

The present invention relates generally to the field of binding assemblies and, more particularly, to an improved binding assembly for snowboards.
Over the last decade, snowboarding has become a very popular winter sport in the United States and other countries. While skiing and snowboarding are usually performed on the same slopes, they differ significantly from each other. For example, rather than having separate skis for each foot and poles for each hand, a snowboarder has both feet bound to a single, relatively wide board, and no poles are used. In addition, unlike skiing, snowboard bindings are mounted on the snowboard at a transverse angle to the longitudinal axis of the snowboard.
While it is relatively easy for snowboarders to propel themselves down a slope with both of their feet secured to the snowboard, difficulties are encountered when snowboarders attempt to traverse level ground where they cannot take advantage of gravity forces as a means of propulsion. The need for traversing level ground routinely arises when snowboarders seek to transport themselves to a chair lift to be taken to the top of a slope to begin their downhill ride.
Because snowboarders do not use poles, when maneuvering over level ground snowboarders typically must remove at least one foot from the snowboard and propel themselves along the ground in a "skateboard" fashion, i.e., the rear foot is used to push on the ground surface and propel the snowboard while the front foot remains inserted in the snowboard binding and is used to guide the path of travel of the snowboard. The ability of snowboarders to easily and safely propel themselves in "skateboard" fashion is hindered by the fact that the bindings securing the snowboarder's foot to the snowboard are typically mounted at a transverse angle to the longitudinal axis of the snowboard. This results in the snowboarder's front foot being turned inwards at what may be an uncomfortable and potentially hazardous position to the snowboarder's knee and ankle should the snowboarder choose to propel the snowboard in skateboard fashion rather than disengage both feet from the snowboard before attempting to maneuver over level ground. Conversely, should the snowboarder choose to mount the binding at an angle that is safe for the "skateboard" method of ground maneuvering, the rotational position of the binding may not be satisfactory or safe for the individual snowboarder to use when riding the snowboard down a slope. Therefore, a snowboard binding assembly capable of adjusting the rotational position of the binding so that the snowboarder can quickly and easily position the binding for safe maneuvering over level ground in "skateboard" fashion and then easily readjust the binding to a "riding angle" proper for riding the snowboard down a slope, without removing the boot from the binding assembly, has been desired.

Rotatably adjustable snowboard binding assembly


A safety device is disclosed. According to various embodiments, the safety device includes a frame having a main lever arm and a connecting portion, wherein the connecting portion comprises a surface having a plurality of indentations and wherein the main lever arm includes a first elbow and a first upward extending arm at an end opposite the connecting portion. The safety device also comprises an expander lever arm, wherein the expander lever arm includes a second elbow and a second upward extending arm at the end opposite the connecting portion, wherein the main lever arm and the expander lever arm divergently extend from the connecting portion and wherein the expander lever arm is configured to engage and to be adjustable about the connecting portion.

In the telecommunications or electronics industry, it is common practice for a technician (also referred to as a "linesman") to climb a columnar member, such as, for example, a pole, a tree trunk, and the like to install equipment, to repair broken or damaged communications equipment, to test equipment, and/or to perform other work-related tasks. To safely and effectively climb the columnar member and perform line work, the technician must maintain and properly utilize various types of climbing equipment.
As a result, technicians employ climbing equipment that conventionally includes a pair of gaffs, a body belt, and/or a safety strap. In general, the gaff is a sharp blade protruding from the inside of the technician's footwear about mid-foot level and having straps that secure about the leg and/or feet of a technician. To climb a columnar member such as, for example, a pole, the technician drives one of the gaffs into the pole, steps up onto the gaff, and then drives the other gaff into the pole at a higher position. The technician continues taking steps up or "gaffs up" the pole until reaching a desired height.
The body belt is secured around the waist of the technician. The body belt includes pockets for carrying tools and rings (e.g., "D-rings") for attaching the safety strap. The safety strap may include a hook (e.g., snap buckle) at each end and a buckle for adjusting its length. During climbing, both hooks of the safety strap are attached to the same ring of the body belt on the technician's left hip. Once in a position to perform line work, the technician releases one end of the safety strap from the body belt and wraps the safety strap around the pole. The technician then reattaches the end of the safety strap to a right D-ring on the belt to support his/her body, thus freeing the technician to use his/her hands at a desired working elevation about the pole.
During elevated line work, both gaffs are pressed into the pole and the technician leans back against the safety strap. This position allows the weight of the technician to be supported by the gaffs and the tension in the safety strap.


A software-defined radio includes a pair of radio subsystems such as a red (command) and black (data) radio subsystem having an operating environment conforming to the Software Communications Architecture (SCA) specification, for example, as used for Joint Tactical Radio System (JTRS). A clock is read by at least one of the radio subsystems for determining time of day. A processor of the radio subsystem is operative for distributing the time of day to the radio subsystems using a global hardware timing pulse. Each processor can include a free-running timer to which any time sources within the pair of radio subsystems are set.

With advances in processing capabilities and programming technologies, software defined mobile wireless communications devices (e.g., radios) continue to increase in popularity. Rather than relying upon hardware and circuitry components to perform tasks such as frequency, modulation, bandwidth, security functions, and waveform requirements, these functions are performed by software modules or components in a software radio. That is, with a software radio analog signals are converted into the digital domain where the above-noted functions may be performed using digital signal processing.
Because most of the functions of the radio are controlled by software, software radios may typically be implemented with relatively standard processor and hardware components. This may not only reduce device hardware costs, but is also provides greater flexibility in upgrading the device since new communications waveform modules can be uploaded to the device relatively easily and without the need to interchange new hardware components.
One particular class of software radio, which takes advantage of the above-described advantages features is the Joint Tactical Radio (JTR). The JTR radio includes relatively standard radio and processing hardware along with the appropriate waveform software modules for the communication waveforms the radio will use. JTR's also utilize operating system software that conforms with the Software Communications Architecture (SCA) Specification (see www.JTRS.saalt.mil), which is hereby incorporated by reference in its entirety. The SCA is an open architecture framework that specifies how hardware and software components are to interoperate so that different manufacturers and developers can readily integrate their respective components into a single device.
Still another class of mobile wireless communications devices that increasingly use software components for communicating with different waveforms or protocols are cellular communication devices. That is, many cellular devices are now designed to operate with more than one of the numerous cellular standards that are used throughout the world, such as the Global System for Mobile Communications (GSM) and Personal Communications Services (PCS), for example.
The Joint Tactical Radio System (JTRS) Software Component Architecture (SCA) defines a set of interfaces and protocols, often based on the Common Object Request Broker Architecture (CORBA), for implementing a Software Defined Radio (SDR). In part, JTRS and its SCA are used with a family of software re-programmable radios. As such, the SCA is a specific set of rules, methods, and design criteria for implementing software re-programmable digital radios.
The JTRS SCA specification is published by the JTRS Joint Program Office (JPO). The JTRS SCA has been structured to provide for portability of applications software between different JTRS SCA implementations, leverage commercial standards to reduce development cost, reduce development time of new waveforms through the ability to reuse design modules, and build on evolving commercial frameworks and architectures.
The JTRS SCA is not a system specification, as it is intended to be implementation independent, but a set of rules that constrain the design of systems to achieve desired JTRS objectives. The software framework of the JTRS SCA defines the Operating Environment (OE) and specifies the services and interfaces that applications use from that environment. The SCA OE comprises a Core Framework (CF), a CORBA middleware, and an Operating System (OS) based on the Portable Operating System Interface (POSIX) with associated board support packages. The JTRS SCA also provides a building block structure (defined in the API Supplement) for defining application programming interfaces (APIs) between application software components.
The JTRS SCA Core Framework (CF) is an architectural concept defining the essential, "core" set of open software Interfaces and Profiles that provide for the deployment, management, interconnection, and intercommunication of software application components in embedded, distributed-computing communication systems. Interfaces may be defined in the JTRS SCA Specification. However, developers may implement some of them; some may be implemented by non-core applications (i.e., waveforms, etc.), and some may be implemented by hardware device providers.
The specifications for the JTRS radio and SCA typically require an interface for command and data (red and black) processing systems. A radio platform may include multiprocessor embedded systems, including Field Programmable Gate Arrays (FPGA's). In some current systems, the timing synchronization between processing elements is often orchestrated in the software. This scheme uses a series of message exchanges between the processing elements, where one of the elements provides the definitive time reference in the messaging that is sent. This current technique has limits on the accuracy that can be achieved because of the interrupt latency and timing variability in the message exchange. It would be desirable to determine a way to accurately synchronize the time of day between multiple processors and processes within these embedded systems operative typically as a software radio, such that the synchronization can be accurately determined with less than one microsecond of inaccuracy.

Time of day synchronization and distribution within a multiprocessor embedded system and related methods


The invention described herein relates to methods and compositions for treatment of gluten intolerance and related conditions (e.g., celiac disease and gluten sensitivity), or inhibition of inflammation and/or immune response in the intestine due to antigenic food peptides, by administration of a pharmaceutical composition comprising one or more Nepenthes enzymes.

Several diseases are mediated by reactions to antigenic food proteins in susceptible individuals. For example, ingestion of wheat, barley, and rye, which contain antigenic food proteins (e.g., gluten) may cause abnormal autoimmune responses, such as celiac disease, wheat allergy and dermatitis herpetiformis, in gluten intolerant individuals. Gluten is a mixture of glutamine- and proline-rich glutenin and prolamin protein molecules.
Celiac disease is an autoimmune disorder affecting the small intestine. Most of the individuals having the abnormal autoimmune responses characteristic of celiac disease express the human leukocyte antigen (HLA) DQ2 or DQ8 molecules. Symptoms of the disease are caused by a reaction to gluten proteins, and may also include other storage proteins in the grain products consumed (e.g. serpins, purinins). Clinically, the disease is detectable in part through the quantitation of antibodies specific for gluten and tissue transglutaminase (tTG). The autoimmune responses result in the development of small intestinal mucosal villous atrophy with crypt hyperplasia and mucosal inflammation. Symptoms of celiac disease can vary from individual to individual, and may include one or more of fatigue, chronic diarrhea, constipation, malabsorption of nutrients, weight loss, abdominal distension, anemia, as well as a substantially enhanced risk for the development of osteoporosis and intestinal malignancies (lymphoma and carcinoma).
Type I diabetes is a risk factor for celiac disease. Autism is also associated with celiac disease, and a gluten-free diet may help alleviate some symptoms of autism. Similarly, it is believed that some people with attention deficit hyperactivity disorder exhibit fewer symptoms when gluten is removed from their diets. Other conditions that may benefit from elimination of dietary gluten include rheumatoid arthritis and fibromyalgia.
Treatment for gluten intolerance, especially celiac disease, commonly involves a lifelong, strict gluten-free diet. However, gluten-free diet is inconvenient, restrictive, and gluten is difficult to avoid. Therefore, effective alternative treatments of gluten intolerance and celiac disease are needed.

Compositions and methods for treating gluten intolerance and disorders arising therefrom


A system for inhibiting deployment of an airbag includes a rollover sensor and a circuit that are enclosed in an enclosure. The enclosure is mounted on a surface that is at a predetermined potential. The circuit detects presence of the predetermined potential when the enclosure is mounted on the surface. The circuit detects absence of the predetermined potential when the enclosure is dismounted from the surface. The circuit inhibits deployment of the airbag when absence of the predetermined potential is detected.

Referring now to FIG. 1A, an airbag restraint system (ARS) 10 that deploys one or more airbags in the event of a collision is shown. The ARS 10 comprises an airbag control system (ACS) 11 that detects the collision, an inflator 14, and an airbag 16. The ACS 11 includes a crash sensor 12 and a control module 13. The crash sensor 12 senses the force of impact when a collision occurs. When the force is greater than a predetermined value, the crash sensor 12 generates a control signal. On receiving the control signal, the inflator 14 inflates the airbag 16. The control module 13 comprises control circuitry that controls the operation of the ARS 10.
Referring now to FIG. 1B, an ARS 20 that deploys one or more airbags in the event of a rollover is shown. The ARS 20 comprises an ACS 21 that detects the rollover, an inflator 24, and an airbag 26. The ACS 21 includes a rollover sensor 22 and a control module 23. The rollover sensor 22 senses a roll angle of the vehicle when rollover is imminent. When the roll angle is greater than a predetermined value, the rollover sensor 22 generates a control signal. On receiving the control signal, the inflator 24 inflates the airbag 26. The control module 23 comprises control circuitry that controls the operation of the ARS 20.
Mechanical switches are typically used to disable deployment of airbags during maintenance operations. Mechanical switches may, however, become inoperative over time. Consequently, airbags may inadvertently deploy during maintenance operations. Particularly, ACSs that detect rollovers may deploy airbags when the ACSs are being removed from vehicles for maintenance purposes while power to the ACSs is on.


This innovation relates to a method as well as server and client devices to allow a single user to swap between devices in real-time within the same instant message session.

This innovation relates to a method as well as server and client devices to allow a single subscriber of telecommunications services to swap between devices in real-time within the same instant message session. Existing telecommunications standards GSMA RCS v5.1 and OMA CPM v2.0 currently have multi-device scenarios, but only allow one active device per user in an active chat session. In many cases a SIP CANCEL or other session cancellation message is explicitly sent to the secondary user devices not involved in the session. SIP protocol is described by the IETF RFC document 3265. RCS v5.1 Advanced Communications Services and Client Specifications v 2.0 dated May 3, 2013, details these scenarios in Appendix B. The method described in the RCS specification limits full use of the subscribers client devices. Other known methods for users with multiple devices synchronize the message content and session information using the long term message store after the chat session has ended and allow the user, with a different client to re-open a similar session. The message history for the session is often not available in the new client device at the time the user wants to switch device, or is significantly delayed. What is needed is a method for the subscriber to switch to a different device in real-time, while the chat session is still active.

Method and devices for instant message client swap


A furnace assembly for a metal-making process, including: an electric arc furnace configured for flat bath operation and having a bottom, and an electromagnetic stirrer configured to be arranged underneath the bottom of the electric arc furnace to enable stirring of molten metal in the electric arc furnace.

Flat bath operation (FBO) is a process of continuously feeding or small-bucket charging of metallic materials such as scrap, pig iron, direct reduced iron (DRI), hot metal, or hot briquetted iron (HBI), into the furnace bath of an electric arc furnace (EAF) without opening the furnace roof. During the metallic charging, the electric arc is continuously powered and the metallic materials are continuously melted in the bath. This process provides high energy efficiency and less electrode consumption.
One issue of a flat bath melting process is the temperature homogenization of the furnace bath, especially in the metal charging area which is always a cold zone. Incomplete metal-melting in the cold zone creates potential problems such as concentration gradients, unreliable measurements, unsafe process control, superheated bath, and over tap temperature. To solve this inhomogeneous temperature problem, bath stirring is recommended to improve the melt convection. To this end, bottom gas stirring by porous plugs has been implemented in the some of these furnaces.
For bottom gas stirring, porous plugs with direct or indirect gas purging are installed in the bottom refractory. Normally 3-5 porous plugs are needed depending on the furnace size. The stirring intensity is controlled by the gas, typically nitrogen or argon, and by flow rate and pressure.

This patent is subject to a terminal disclaimer.

Furnace assembly for a metal-making process


A biosensor including a capillary chamber having an inner boundary, a working electrode including an effective working electrode portion positioned within the capillary chamber, and a counter electrode including an effective counter electrode portion positioned within the capillary chamber, and with the working and counter electrodes each having a neck that constitutes the sole portion of the electrodes that extends across the inner boundary and out of the capillary chamber. In one embodiment, the effective working electrode portion defines an average working electrode width, and the working electrode neck defines a working electrode neck width that is reduced relative to the average working electrode width. In another embodiment, a ratio between the area of the effective working electrode portion exposed to the capillary chamber and the area of the effective counter electrode portion exposed to the capillary chamber is substantially constant as a position of the inner boundary of the capillary chamber is varied along a length of the working and counter electrode necks.

Electrochemical biosensors are known in the art and have been used to determine the concentration of various analytes from biological samples, particularly from blood. Various configurations of electrochemical biosensors are described in U.S. Pat. Nos. 5,413,690; 5,762,780; 5,798,031; 5,997,8171; 7,073,246; 7,195,805 and 7,473,398 and U.S. Patent Application Publication No. 2005/0016844, the disclosures of which are each expressly incorporated herein by reference in their entirety.
As the number of patients suffering from diabetes and similar medical conditions increases, self-monitoring of blood glucose where the patient monitors his or her blood glucose level has become common practice. The purpose of monitoring the blood glucose level is to determine the blood glucose concentration level, and then to take the requisite corrective action based on whether the level is too high or too low in order to bring the level back within a normal or acceptable range. Failure to take corrective action can result in serious medical implications. Glucose monitoring is a fact of everyday life for millions of diabetic individuals. Additionally, failure to test blood glucose levels properly and on a regular basis can result in serious diabetes-related complications, including cardiovascular disease, kidney disease, nerve damage and/or blindness.
A number of biosensors utilize electrochemical analysis to determine the blood glucose level by measuring a current that corresponds to an analyte concentration. Such biosensors may utilize a capillary chamber having an electrode substrate providing a working electrode area located in the capillary chamber. The current response of the electrochemical cell is directly proportional to the working electrode area. However, variations in the working electrode area may result from the manufacture and assembly of the components of the biosensor that define the capillary chamber and the position/location of the working electrode. Variations in the working electrode area in the capillary chamber from one biosensor to another are undesirable since such variations introduces imprecision and/or inaccuracy in the measured analyte concentration, which may in turn result in an imprecise and/or inaccurate measurement of the blood glucose level.
Therefore, biosensor arrangements which minimize variation in the working electrode area associated with the manufacture of the biosensor are desirable. Additionally, maintaining a balanced ratio between the counter electrode area and the working electrode area in the capillary chamber is also desirable in order to increase the precision and/or accuracy of the biosensor.


A sealing cover for a multi well plate includes a plurality of layers including a lid and a non-stick sealing layer. The sealing cover also includes a spring member for holding the multi well plate securely. The sealing cover is especially adapted for manipulation by a robotic apparatus.

1. Field of the Invention
This invention relates generally to multi well plates typically used in the chemical and biological arts and more specifically to an improved sealing plate cover for a multi well plate that is adapted for low or high temperature space efficient storage and robotic manipulation.
2. Brief Description of the Prior Art
It is common in performing chemical or biological tests to use a piece of laboratory equipment known as a micro or multi well plate. A multi well plate is typically a plastic plate containing an array of wells organized in regular horizontal and vertical rows. A multi well plate typically contains 24, 96, 384 or 1,536 wells. Multi well plates come in many configurations including shallow wells, half wells, deep wells, cube tubes, or mini tubes. The wells are used to contain compounds or chemicals in solution. A multi well plate can hold as little as 0.5 ul of compound.
When the multi well plate is not being used, it is stored, usually in a refrigerated storage locker. When the multi well plate is placed into or removed from storage, it may be handled with robotic machinery, such as a gripper. In its stored state, the multi well plate serves as a library of compounds or chemicals for future tests.
Unfortunately, existing covers for multi well plates tend to be loose-fitting. A loose-fitting seal does not significantly guard against evaporation, sublimation, absorption, or cross-contamination between wells. To overcome this limitation, a tight-fitting seal made of adhesive backed foil, Mylar or polyethylene is often applied by the end user. While the adhesive backed seal helps in preserving the integrity of the compounds, robotic equipment have a difficult time handling the adhesive backed cover. Consequently, the cover is usually removed manually due to the difficulty in automating adhesive backed seal removal.
The present invention is directed to solving the foregoing problems of the existing art.
In accordance with one preferred embodiment of the present invention, there is provided a cover for use in sealing a multi-well plate, the cover is adapted for robotic gripper manipulation. The cover comprises: 1) a lid plate defining a planar expanse sufficient to cover the multi-well plate; 2) a plurality of tabs protruding from the lid plate; 3) a compressible layer attached to one side of the lid plate; 4) a non-stick layer attached to the compressible layer; and 5) a torsion spring member connected to the sheet, the spring member is adapted, when in use, to rotationally engage the multi-well plate to hermetically seal the multi-well plate by applying an upward force thereto.
In accordance with another preferred embodiment of the present invention, there is provided a sealed multi-well plate, comprising: 1) a plate defining a plurality of containment wells; 2) a non-stick layer disposed on and extending over the majority of the principal surface of the plate; 3) a compressible layer attached to the non-stick layer; 4) a lid disposed on the compressible layer having a torsion spring member, the spring member adapted to rotationally engage the multi-well plate to compress the compressible layer and the non-stick layer on the principal surface of the plate thus, hermetically sealing the containment wells; and 5) a plurality of tabs protruding from the lid plate to aid in robotic gripper manipulation.
Each of the preferred embodiments further comprises a lid plate made from, either alone or in combination, metal, polyethylene, polycarbonate, polypropylene, polystyrene, or the like.
Each of the preferred embodiments further comprises a compressible layer made from, either alone or in combination, silicone rubber, silicone foam, neoprene rubber, polyurethane foam or the like.
Each of the preferred embodiments further comprises a non-stick layer made from, either alone or in combination, Teflon, Mylar, polypropylene or the like.
Each of the preferred embodiments further comprises a retractable wire torsion spring member, preferably of stainless steel, the spring member, when not in use, retracts to minimize space requirements.
Each of the preferred embodiments further comprises notches on the lid plate for ease in the stacking of the covers alone or when attached to the multi well plate.
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings.


Disclosed herein are settable compositions and methods of using settable compositions in a wellbore. In one embodiment a method of introducing a settable composition into a wellbore is described. The method comprises providing a settable composition comprising pumice, hydrated lime, a set retarder, and water. Introducing the settable composition into a wellbore. Allowing the settable composition to remain static in the wellbore, wherein the settable composition remains in a pumpable fluid state for a period of about 1 day or longer while static in the wellbore.

Embodiments relate to subterranean operations and, in certain embodiments, to settable compositions and methods of using settable compositions in subterranean formations.
During the drilling of a wellbore in a subterranean formation, a drilling fluid may be used to, among other things, cool the drill bit, lubricate the rotating drill string to prevent it from sticking to the walls of the well bore, prevent blowouts by serving as a hydrostatic head to counteract the sudden entrance into the well bore of high pressure formation fluids, and remove drill cuttings from the well bore. A drilling fluid may be circulated downwardly through a drill pipe and drill bit and then upwardly through the wellbore to the surface. The drilling fluid used may be any number of fluids (gaseous or liquid) and mixtures of fluids and solids (such as solid suspensions, mixtures, and emulsions).
After drilling to a desired depth and prior to and in preparation of the cementing phase, the drill bit may be withdrawn from the wellbore, and circulation of the drilling fluid is stopped. The drilling fluid may be left in the wellbore along with a filter cake of solids from the drilling fluid. Next, a pipe string (e.g., casing, liners, etc.) may be introduced into the well bore. Depending on the depth of the well bore and whether or not any problems are encountered in introducing the pipe string into the well bore, the drilling fluid may remain relatively static in the well bore for a relatively long time period, for example, up to about 2 weeks or longer. While drilling fluids are generally not settable (e.g., they generally do not to form a hardened mass over time), drilling fluids may increase in gel strength over time. Accordingly, during the time period that the drilling fluid is static in the well bore, portions of the drilling fluid may increase in gel strength so that displacement of the drilling fluid from within the well bore may be become more difficult. At a desired time, the pipe string may be cemented in place by pumping a cement composition through the pipe string and into the annulus between the pipe string and the walls of the well bore whereby the drilling fluid in the annulus is displaced therefrom by the cement composition. While a variety of techniques have been developed for improving the displacement of the drilling fluid from the annulus, if the drilling fluid has developed gel strength due to remaining static in the well bore for a long period of time, portions of the drilling fluid in the well bore are bypassed by the cement composition. Since the drilling fluid is not settable, i.e., it does not set into a rigid sealable mass, formation fluids enter and flow in the well bore which is highly undesirable.
In some instances, a settable composition (commonly referred to as a "settable spotting composition") may be used to remove drilling fluid and prevent the drilling fluid filter cake from interfering with subsequent primary cementing operations. These settable spotting compositions may be used to at least partially displacing the drilling fluid before the drilling fluid in the wellbore has had a chance to gain significant gel strength, for example, prior to introducing the pipe string into the well bore. Generally, these settable spotting compositions should not have an undesirable increase in gel strength after being static in the wellbore for a period of time, for example, up to at least two weeks, so that the settable spotting compositions may be displaced from the wellbore. After the wellbore is at least partially filled with the settable spotting composition, the pipe string to be cemented may be introduced into the wellbore. When the cement composition is pumped through the pipe string into the annulus, the drilling fluid (if any) and settable spotting composition in the pipe string and annulus should be displaced ahead of the cement composition. The settable spotting composition, if any, remaining in fractures or other permeable portions of the subterranean formation should set into a hardened mass, thereby preventing or reducing the entry or flow of formation fluids in the annulus.
In alternative operations, commonly referred to as "puddle jobs," a settable composition may be placed into the wellbore before the casing and consequently the settable composition must remain in a fluid puddle state long enough for the casing string to be placed into the wellbore. Once the casing string is successfully positioned the settable composition may then set into a hardened mass, which may be sealable and/or may prevent the migration of fluids in the wellbore.
While settable compositions have been developed heretofore, challenges exist with their successful use in subterranean cementing operations. For example, settable compositions used as settable spotting compositions should ideally remain fluid long enough so that they can ultimately be displaced with the cement composition or any associated spacer fluids. Similarly, settable compositions used in puddle jobs should ideally remain fluid long enough to place and position the casing within the wellbore. Moreover, it may be desirable for the settable compositions to develop a sufficient compressive strength when it is no longer desired for the settable composition to remain fluid.

Settable compositions and methods of use


A low-cost heat sink easy to assemble which is designed to be mounted on a power semiconductor module (5) through the medium of cooling water includes a base member (1), a heat sink body (2) superposed on the base member (1) to form in cooperation with the base member (1) a passage through which the coolant flows, and a bellows-like flow straightening plate (6) disposed between the power semiconductor module (5) and the base member (1) in physical contact with the power semiconductor module (5) on one hand and with the base member (1) on the other hand. The flow straightening plate (6) partitions the passage into a plurality of flow straightening channels (14A, 14B).

1. Field of the Invention
The present invention relates to a heat sink for cooling a power semiconductor module of a unitary structure in which power elements such as IGBTs (Insulated Gate Bipolar Transistors) constituting major parts of an electric power control device such as a general-purpose inverter or the like are incorporated.
2. Description of Related Art
Heretofore, in the general-purpose inverter for performing, for example, variable control of rotation speed (rpm) of an electric motor designed for industrial appliance, a power semiconductor module which incorporates therein IGBTs or the like is employed as a major device constituting a major part of the inverter circuit. The power semiconductor module generates heat in the course of operation. Consequently, cooling of the power semiconductor module is necessarily required. To this end, a heat sink is mounted on the power semiconductor module.
As a typical example of the heat sink, there may be mentioned the one in which a cover member is fit on a base member on which the power semiconductor module is mounted to form a hollow passage through which cooling air can flow. Disposed within the hollow passage is a corrugated fin which is formed by bending a thin plate in a corrugated shape. For more particulars, reference may have to be made to, for example, Japanese Patent Application Laid-Open Publication No. 257296/2001 (JP-A-2001-257296).
With the structure of the heat sink mentioned above, the heat emitting area which is brought into contact with the cooling air flow can certainly be increased owing to the wave-like structure of the corrugated fin with the heat transfer being thereby promoted. However, since the corrugated fin is fixedly secured to the base member and the cover member by brazing, the efficiency involved in assembling the heat sink is poor, as a result of which the manufacturing cost increases, giving rise to a problem.


A roof drill bit for drilling a bolt hole in a mine roof comprises a body defining a longitudinal axis of rotation and having an external periphery and a front face. A longitudinal fluid channel is formed in the external periphery for conducting a flow of flushing fluid to the front face. An imaginary longitudinal plane which contains the axis of rotation serves to bisect the front face into first and second sides. A cutting edge arrangement is defined by at least one cutting insert mounted on the body. The insert is positioned to be acted upon by the flow of flushing fluid. At least one support pad is mounted on the external periphery for balancing cutting forces acting on the drill bit. The cutting arrangement is asymmetrical with respect to the axis of rotation such that the cutting edge arrangement is disposed on one of the sides, and the other side is substantially free of the cutting edge arrangement.

The present invention relates to the support of mine roofs and, in particular, to an apparatus including a roof drill bit for drilling bolt holes in mine roofs.
During a mining operation, the roof of the mine must be supported. This has traditionally been accomplished by bolting support plates to the roof after bolt-receiving holes have been drilled into the roof.
It has been conventional to drill the bolt-receiving holes by means of a drill bit comprised of a body having a plurality of cutting edges spaced apart circumferentially on a front face of the body. The cutting edges can be formed by cutting inserts made of a hard material such as cemented carbide or polycrystalline diamond for example.
The drill bit includes a rearwardly extending shank of non-circular cross-section mounted in the hollow front end of a drill bar which forms a drive shaft for the insert.
Each cutting edge communicates with a respective longitudinal channel formed along an external periphery of the body. Flushing water is directed upwardly under pressure through the drill bar and then along the channels for flushing away the cuttings and cooling the cutting edge. The water-entrained cuttings exit the hole through an annulus formed between the drill and the side wall of the hole. By flushing away the cuttings, the cutting edges stay sharper longer and the rate of drilling is increased, because the cutting edges do not have to re-cut the cuttings. Also, the cooling of the cutting edges extends their life, especially in the case of cutting edges formed of polycrystalline diamond.
Although prior art drills have functioned to flush cuttings and cool the inserts, room for improvement remains. In that regard, if the flow pattern of the cooling fluid could be improved to provide an enhanced removal of cuttings and insert cooling, it is possible that the rate of drilling could be increased, the insert life and cutting edge sharpness could be extended, and/or fewer inserts (i.e., a less expensive drill) could be used to achieve drilling rates which are comparable to presently available rates. The present invention has as its goal the attainment of some or all of those advantages.

Apparatus for drilling holes in mine roofs and a roof drill bit for use therein


A water pipe collection box and stave support for a cast copper stave cooler body panel that has disposed within it a circuit of water pipes with a number of loops each with an inlet end and an outlet end, and all such inlet ends and outlet ends clustered together in a single group that exits a backside of the copper stave cooler body panel. A cast copper stave cooler body panel that has disposed within a circuit of water pipes with a number of loops each with an inlet end and an outlet end, and all such inlet ends and outlet ends clustered together in a single group that exits a backside of the copper stave cooler body panel. A blast furnace having stave cooler body panels variously profiled to fit inside, and where each has disposed within it a circuit of water pipes with a number of loops each with an inlet end and an outlet end, and all such inlet ends and outlet ends are clustered together in a single group that exits a backside of each copper stave cooler body panel.

Purpose of water-cooled components like stave coolers in blast furnaces is to arrest erosion/corrosion of the refractory lining, e.g., to establish a stable blast furnace crucible. Water-cooled components enable stable openings for passage of process constituents into or out of the blast furnace. For example, Tuyeres.
Back as early as June 2011, Todd G. Smith and Allan J. MacRae jointly invented a "Can" on a steel backing plate they used to support cast copper stave coolers inside blast furnaces. The advantage of the Can was all the pipe circuit inlet ends and outlet ends were clustered together inside the Can for exit outside in one group per stave.
Even years earlier, in 1980, Mashinenfabrik Ausberg-Nurenberg (MAN) of Oberhausen, Germany had built a plate cooler in which a large diameter bulkhead coupler was threaded into the the cooler's backside and it too had all its pipe circuit inlet ends and outlet ends clustered together inside what they labeled a "Befestigunggstutzen" for exit outside the blast furnace in one group per stave. Both were concerned with keeping dangerous lethal process gases sealed up inside the blast furnace containment shell. The cast-into-copper "can" depended on good copper-steel bonds and steel-to-steel welds, the "Befestigunggstutzen" needed heavy duty specialized gas-sealing washers and large strong locknuts.
We discussed the challenges and techniques of gas sealing blast furnace stave coolers in a parent to this application that was published as US Published Patent Application US2013-0203007 on Aug. 8, 2013.
What is needed now is a closed Can that can be attached well enough to the backside of a cast copper stave cooler that it will not pull off after several years of service and that will continue to contain lethal process gases inside for its entire campaign life. All the while supporting the 3,000+ kg weight of a ten foot tall all-copper stave cooler inside the blast furnace shell.

Water pipe collection box and stave cooler support


A color display device comprises a plurality of picture elements (14), at least two light sources, having different radiance spectra and being activated alternately, and color selection means for generating, together with said light sources, primary colors in a color image (P1, P2). Each of a number of image information sets, each set being related to a color image (P1, P2) to be displayed, are divided into a first subframe (A1, A2), being picture element settings to be maintained during the operation of a first light source, and a second subframe (B1, B2), being picture element settings to be maintained during the operation of a second light source. The polarity of the picture elements (14) is, in an alternating manner, shifted between a first polarity (+) and a second polarity (−). The polarity is shifted in such manner that a first subframe (A1) and a subsequent first subframe (A2) are matched with different polarities (+, −) in order to avoid a polarization in the picture elements (14) which may result in slow response or other artifacts.

WO 2004/032523 A1 describes a color display device of the above-mentioned type in which each pixel is provided with three color filters, each being arranged in a sub-pixel, and uses two different selectable light sources, which are activated alternately. Thus it is possible to obtain six primary colors, primaries. This arrangement allows a wider aperture for each pixel and an improved color gamut as compared with a conventional arrangement, comprising a white backlighting arrangement and three filters (RGB) for each pixel. A problem with this display is, however, that it has a limited life length and that the response of the color display device when shifting from displaying one image to displaying another image is slow. In addition it has been found that this display has a significant flicker.


Aspects of the present invention disclose a method for recommending an activity based on a social media profile, IoT devices, and historical engagements of the user. The method includes one or more processors determining a past activity of a user based at least in part on social media posts and internet of things (IoT) enabled devices of the user. The method further includes determining a set of historical conditions corresponding to the past activity, wherein the set of conditions correspond to a positive sentiment of the user. The method further includes identifying a location of the user. The method further includes generating an activity recommendation based on the location of the user and the set of historical conditions corresponding to the past activity, wherein the activity recommendation includes a set of future conditions of a future activity, wherein the set of future conditions correlate with the set of historical conditions.

The present invention relates generally to mobile devices, and more particularly to activity recommendations based on social media of a user and a plurality of Internet of Things (IoT) enabled devices.
In recent years, developments and the growth of Internet of Things (IoT) capable devices have created a wealth of opportunities to advance the capabilities to integrate systems. The Internet of things (IoT) is the internetworking of physical devices (also referred to as "connected devices" and "smart devices"), vehicles, buildings, and other items, embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data. The IoT allows objects to be sensed and/or controlled remotely across existing network infrastructure, creating opportunities for more direct integration of the physical world into computer-based systems, and resulting in improved efficiency, accuracy, and economic benefit in addition to reduced human intervention. Each thing is uniquely identifiable through its embedded computing system but is able to interoperate within the existing Internet infrastructure.
Social media is an interactive computer-mediated technology that facilitates the creation and sharing of information through virtual communities and networks. User-generated content, such as text posts or comments, photos, videos, and data generated through online interactions are the lifeblood of social media. Users usually access social media services via web-based technologies on desktops and laptops, or download services that offer social media functionality to their mobile devices (e.g., smartphones and tablets).

Activity recommendations based on IoT and social media

International Business Machines Corporation


A sprocket cover in a straddle vehicle, which is attached to a side wall of a case of the straddle vehicle to cover a sprocket fastened to an end portion of an output shaft protruding in a vehicle width direction from the case, from outside in the vehicle width direction, comprises an outer cover member attached to the side wall of the case such that the outer cover member is exposed to outside of a vehicle body; and an inner cover member attached to an inner side of the outer cover member to cover the sprocket in a state in which the inner cover member is covered with the outer cover member; wherein the outer cover member and the inner cover member are molded using different resin materials.

1. Field of the Invention
The present invention relates to a sprocket cover for covering a sprocket used to rotate a drive wheel.
2. Description of the Related Art
In a straddle vehicle such as a motorcycle, a chain is used in a mechanism for transmitting a rotation to a drive wheel. In this case, an output shaft of a driving source or a transmission protrudes laterally from a case, and a sprocket is mounted to an end portion of the output shaft. Japanese Utility Model Application Publication No. Hei. 1-147791 discloses a sprocket cover attached to a side wall of a case so as to cover a sprocket, for the purpose of protecting the sprocket and suppressing a noise from being emitted from the sprocket and the chain.
In general, the sprocket cover is manufactured using metal. However, the sprocket cover manufactured using metal increases its weight and manufacturing cost. Accordingly, the sprocket cover may possibly be manufactured using a resin. Thus, the weight of the sprocket cover can be reduced, but selection flexibility of a material and shape of the sprocket cover is reduced if an attempt is made to attain a plurality design goals (e.g., achievement of a higher mounting stiffness, improvement of its external appearance, prevention of emission of a noise) which are required for the sprocket cover.


Data is distributed to solid-state disks (SSDs) using the RAID-0 technique. Based on a utilization of a first region of a first one of the SSDs, the first region is selected for garbage collection. Valid data from the first region is copied to an active region of the first one of the SSDs as part of a process of garbage collection. While the process of garbage collection is being performed, data is distributed to a subset of the SSDs using the RAID-0 technique where the subset of the SSDs does not include the first one of the plurality of nonvolatile solid-state memories selected for garbage collection.

An undesirable occurrence with flash memory is write amplification. When write amplification occurs, the amount of data actually written to flash memory device is greater than the amount of data necessary to store that data. This occurs because flash memory must be erased before it can be rewritten. Thus, in order to write data to a particular block of flash memory, any data not being overwritten in that block must first be moved and written elsewhere. This multiplies the number of writes required which consumes bandwidth to the flash memory and decreases the life expectancy of the flash memory.

Reducing flash memory write amplification and latency

AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.


A system for PET image reconstruction is provided. The system may obtain PET data of a subject. The PET data may be associated with a plurality of coincidence events, which includes scattering events. The system may also generate a preliminary scatter sinogram relating to the scattering events based on the PET data. The system may also generate a target scatter sinogram relating to the scattering events by applying a scatter sinogram generator based on the preliminary scatter sinogram. The target scatter sinogram may have a higher image quality than the preliminary scatter sinogram. The system may further reconstruct a target PET image of the subject based on the PET data and the target scatter sinogram.

Recently, PET has been widely used in clinical examination and disease diagnosis. For example, a subject may be injected with a radioactive tracer before a PET scan, and PET data of the subject may be obtained during the PET scan. The PET data may relate to a plurality of coincidence events, including true coincidence events, scattering events, and random events, detected in the PET scan. However, only the true coincidence events may accurately indicate position information of the radioactive tracer injected into the subject. In PET image reconstruction, data correction may be needed to reduce or eliminate the effect of the scattering events and/or the random events. For example, techniques, such as a Monte-Carlo Simulation algorithm, an analytical modeling technique, a source modulation algorithm, have been used to generate a scatter sinogram for scatter correction in the PET image reconstruction. Therefore, it is desirable to provide systems and methods for PET image reconstruction, thereby improving the reconstruction accuracy and/or efficiency.

Systems and methods for image reconstruction in positron emission tomography

SHANGHAI UNITED IMAGING INTELLIGENCE CO., LTD.


Computer systems, methods, and computer program products for tracking content using serial presentation are disclosed. Some embodiments track an aggregated quantity of words displayed by Rapid Serial Visual Presentation (RSPV) in a digital media item across a plurality of user electronic devices. Some embodiments track what words are displayed by RSVP. Some embodiments track a percentage of words displayed by RSVP across a plurality of user sessions. Some embodiments track trends in the percentage of words displayed by RSVP. Some embodiments use RSVP tracking and trending information to enhance search results. Some embodiments analyze RSVP consumption across a plurality of sessions to determine opportunities for improving content consumption and improving selection of sub-content items. These and other embodiments are further disclosed herein.

Electronic devices and systems are frequently relied upon to provide information to users. Content providers and distributors naturally desire to track usage of that content. Content providers and advertisers rely on tracking content use and advertisement use on the Internet to determine appropriate distribution and pricing schemes and to identify relevant content and ads to present to particular users. Providers of paid content typically either offer subscriptions to periodicals or content libraries and/or offer per item pricing for particular publications.
Presently available systems for tracking content usage typically determine whether a particular piece of content was accessed by a user by, for example, tracking page hits for freely available content and tracking purchases of and/or logins to restricted access content. Also, techniques have been proposed for determining and tracking certain types of interactions with webpage content such as scrolling (see, for example, "Advanced Content Tracking with Google Analytics: part 1" posted Feb. 21, 2012 at http://cutroni.com/blog/2012/02/21/advanced-content-tracking-with-google-analytics-part-1/#wrap).

Tracking content through serial presentation


A bi-directional communications network is disclosed, and in particular a TDM/TDMA protocol for the shared coax medium downstream/upstream resource. This protocol provides a very efficient technique for resource sharing in the access network of HFC systems. A method of communicating information between a central station and a plurality of terminals in a distribution network, is also disclosed. This invention allows the ranging of the terminals of unknown distance from the central station within an upstream ATM cell slot dynamically allocated for the marshalling process by the central station.

Traditional hybrid fibre-coax (HFC) architectures have been deployed with a downstream one-way-only broadcast service requirement, with no, or limited cable return path. Recently, as network providers and equipment manufacturers have started to explore the options for high capacity two-way services, the limitations of the original system choices have become apparent. A symmetrical bandwidth or a more symmetric bandwidth than at present is described. This will allow the development of high capacity 2-way services. Examples of such two way (more symmetric) services include video telephony and work-at-home data applications (as opposed to INTERNET browsing). Such 2-way or highly interactive services enable more economic growth of HFC networks in the future.
Data services used for downloading from central servers are asymmetric, but can be highly symmetric if they are used for work-at-home or remote "grass roots" publishing applications. In the latter case, each subscriber's "download" becomes the publisher's "upload". LAN extension applications, assuming Ethernet 10BaseT connections within the home requires instantaneous 2-way bandwidths of up to 10 Mb/s, if the HFC plant is not to be the bottleneck although the net throughput would be considerably less than this. Preferably latency must be kept low, nominally less than 10 msec, particularly in a LAN environment. As opposed to this, Internet surfing may also benefit from a large downstream capability, however in this case a few 10's of kb/s upstream is likely to be sufficient for this application.
Video conferencing bandwidths are symmetric although lower than those for data or entertainment--384 Kb/s to 2 Mb/s. Holding times however could be several hours, which impacts the upstream capacity engineering of the access plant. To the extent that any of the data or video services are used for business applications, they would have to have a reliability requirement approaching that of telephony today. The reliability requirement also affects the engineering choices in the access plant, requiring a small failure group size.
The upstream capacity is limited in hybrid fiber coaxial designs by the characteristics of the spectrum--the low end of the band in the 5 to 42 MHz region--to which upstream traffic has been assigned in cable industry practice. This spectrum has problems with a high noise floor due in part to ingress by subscriber's cable plant noise. The presence of noise limits both the absolute amount of bandwidth available for upstream use, and the maximum bandwidth of any single channel. In practice, the limit is about 5 to 8 channels of 2 MHz each, which results in about 10 to 16 Mb/s of total bandwidth in a TDMA system, factoring in modulation index and overheads. Furthermore, the modems need to be dynamically agile to be able to seek quiet areas of the spectrum as interference conditions change.
The use of the high end of the band (350 to 500 MHz) allows larger contiguous blocks of bandwidth and such bandwidth is subject to less noise sources. Higher attenuation losses are incurred due to the higher frequencies, but the reduced transmission path distances caused by placing the electro-optic conversion plant deep in the access network (i.e. closer to the subscriber) avoid the need for expensive additional bi-directional amplifiers.
A design that uses remote digital electronics (an access node) to provide high upstream bandwidth to a group of around 240 subscribers provides higher reliability than existing analogue systems and constrains the failure group size to limits normally acceptable in the industry for telephony. Average upstream bandwidth per subscriber can be further increased by further reducing the number of customers served by the access node. This can be acheived by dividing the amount of feeder coax served i.e. reducing the number of "coax legs" from any single access node. This has the effect of reducing both noise ingress and the total demand for upstream bandwidth on that access node.
To accommodate a diverse service mix such as LAN, video conferencing, games and VOD, it would be desirable to have a transport layer which utilizes the ATM format to carry all information and signaling between the central office and the home. The ATM format has been extended to the periphery of the broadband network since it provides a simple, consistent method for handling virtual circuits of different bandwidths and of different delay, burst characteristics and Quality of Service requirements over a single network. Further, ATM supports evolution of the MPEG bit rate as silicon speeds increase and more sophisticated decoding techniques are developed.
A cable system should preferably have the following key characteristics: the ability to co-exist with existing broadcast cable architectures; high capacity in both the downstream and upstream direction for switched digital services, achieved by inserting and extracting bandwidth deep in the outside plant, closer to the subscriber than traditional headend broadcast architectures; the ability to support a wide range of video and data services without preconfiguration; support of low latency upstream requirements; flexible deployment options to allow for increasing penetration of high upstream bandwidth interactive services.
The architecture of multiple users sharing bi-directional bandwidth on a shared access medium leads to a number of implementation possibilities: firstly it is assumed that there is little community-of-interest between adjacent subscribers and any such traffic can be "hairpinned" via the core network. This allows simplification of the system to a point to multi-point (rather than a multi-point to multi-point). In the downstream direction (point to multi-point) traffic is "broadcast" and is received at all subscribers. A single downstream FDM channel could be allocated (either statically or dynamically) to each subscriber within the coax leg to limit access, but this requires a large number of different frequency modems at the access node and either frequency adaptable modems or a large number of variant outstation types. It also complicates configuration of the network and obviously limits the peak downstream bandwidth to any one subscriber. Thus a TDM method is preferable to allow bursty downstream bandwidth. This could either be a single very broad TDM channel or a small numbers of less broad TDM channels, each one allocated statically to a block of subscribers--which implementation is adopted makes no difference to this invention.
In the upstream direction (multi-point to point), various possibilities can be considered, amongst them: FDMA, TDMA and CDMA. FDMA on its own is ruled out for the same reason as FDM . CDMA allows all users access to the whole bandwidth, but the cost/complexity of CDMA where the subscribers/outstations are capable of continually varying data rates outweighs the benefits. Due to the uniform ATM PDU size, a TDMA system based on ATM presents a potential solution where each TDMA timeslot holds a single ATM cell and use of such timeslots could be individually allocated in a dynamic fashion. This allows simple sharing of bandwidth between a number of users, thus allowing concentration of CBR type connections (e.g. voice calls) and statistical gain of bursty connections. However, to limit the bandwidth required of a single upstream modem and to allow work-around known interferers, it is proposed to support a limited number of TDMA channels operating at separate frequencies. An individual subscriber would be statically or semi-statically assigned to a TDMA channel. While this system could be described as FDMA/TDMA, the present invention does not differentiate between subscribers operating at differing frequencies and therefore TDM can be used downstream and TDMA can be used upstream.
As is known, TDMA systems often have marshalling "slots"--gaps in upstream traffic which are used to accommodate the unknown round trip delay when outstations first "sign on". The present invention relates to a system whereby the basestation commands an outstation (or group of outstations) to transmit a known marshalling sequence inside a known marshalling window. Only unmarshalled outstations need respond. Outstations only respond when commanded to by the basestation. The existence of any signal is used to detect unmarshalled outstations. Once a unique unmarshalled outstation has been resolved, then the phase and amplitude of the received known marshalling sequence is used to adjust the launch phase and amplitude of the outstation. The marshalling window needs to be long enough to accommodate variations in round trip delay plus the length of the marshalling sequence chosen to ensure accurate phase/amplitude measurements.
For systems with an appreciable round-trip delay, such as cable networks, use of a dedicated marshalling window can amount to a significant usage of the TDMA bandwidth.
One solution that is to increase the "frame length" i.e. increase the period over which there is a regular marshalling slot. However, this leads to slower marshalling and increased latency of other functions which rely on a small frame length.
It is an object of this invention is provide a TDMA protocol operable in a cable network wherein the marshalling slots do not take up appreciable bandwidth.


Disclosed is are methods for identifying a nucleic acid in a sample. In one example, the method includes: (a) contacting the nucleic acid in the sample with an oligonucleotide that is specific for the nucleic acid in the sample and that is labeled with at least a first fluorescent dye; (b) contacting the nucleic acid in the sample with a second fluorescent dye that is different from the first fluorescent dye, such that the second fluorescent dye interacts with the nucleic acid; (c) amplifying the nucleic acid if present in the sample; and (d) detecting the nucleic acid if present in the sample by observing fluorescence from the first fluorescent dye after the oligonucleotide hybridizes to the amplified nucleic acid and determining the melting temperature of the amplified nucleic acid by measuring the fluorescence of the second fluorescent dye. The second fluorescent dye may include a fluorescent intercalating agent.

The present methods relate generally to the field of identifying nucleic acids. In particular, the present methods relate to the field of identifying nucleic acids in a sample by detecting multiple signals such as signals emitted from fluorophores. The present methods also relate to the field of identifying nucleic acid in a sample by using labeled oligonucleotides to detect the nucleic acid in combination with agents for determining the melting temperature of the detected nucleic acid.
Methods for detecting nucleic acids such as multiplex methods are increasing important in medical diagnostics. Typical multiplex methods utilize PCR amplification, and in particular, real-time quantitative PCR. Real-time or end-point detection methods for PCR typically are based on one of two principles for monitoring amplification products: (1) specific hybridization by probes or primers to single-stranded DNA; or (2) binding by small molecules (e.g., intercalating agents) to double-stranded DNA. Probes and primers may include Molecular Beacon Probes, Scorpion® Primers, Taqman® Probes, and other labeled primers or probes. Small molecules that bind to DNA may include intercalators (e.g., SYBR™ Green I dye and ethidium bromide) and minor groove binders.
Methods for detecting nucleic acid that utilize probes and primers typically involve labeling each probe or primer with a unique label (e.g., a fluorescent dye). Because multiplexing methods commonly utilize fluorescent dyes, they often are called "color multiplexing" methods. These types of multiplexing methods are limited by the practical number of labels that can be detected and distinguished in a reaction mixture. When fluorescent dyes are used in these methods, typically no more than four (4) different dyes can be detected and distinguished based on the dyes' specific absorption (excitation) maximum wavelengths and emission maximum lengths using current detection technology.
Methods for detecting nucleic acid that utilize small binders such as intercalators typically involve determining melting temperatures ("Tm") to detect a target nucleic acid. As such, multiplexing methods that utilize this technology often are called "Tm multiplexing" methods. These methods may include determining the melting temperature of a complex formed by a probe and the amplified target nucleic acid, or determining the melting temperature of the amplified target nucleic acid itself (i.e., the amplicon). Where an intercalator is utilized, typically the intercalator exhibits a change in fluorescence based on whether the detected nucleic acid is double-stranded or single-stranded. These methods may be limited in that intercalating agents interact with double-stranded nucleic acids non-specifically, and as such, multiple detected products must be distinguished by criteria such as resolvable melting temperatures.
Methods for detecting a nucleic acid have been described in which a fluorescent intercalator is used as a donor for fluorescence resonance energy transfer (FRET) together with a fluorescently labeled oligonucleotide probe as an acceptor for FRET. See Howell et al., "iFRET: An Improved Fluorescence System for DNA-Melting Analysis," GENOME RESEARCH 12:1401-1407 (2002). However, these described methods require that the intercalator and the fluorescently labeled oligonucleotide probe be selected to permit FRET. Further, these methods do not involve directly observing a signal from an intercalator as an indication of the melting temperature of an amplified nucleic acid (i.e., an amplicon). Rather, iFRET involves indirectly observing a signal from an intercalator (via FRET) as an indication of the melting temperature of a complex formed between the amplified nucleic acid and a fluorescently labeled oligonucleotide probe.
By combining detection methods based on color and melting temperature (e.g., color multiplexing and Tm multiplexing methods), it may be possible to detect a plurality of nucleic acids in a sample, Such methods may be useful in diagnostic methods related to identifying human pathogens (e.g., viruses that may include respiratory pathogens such as human parainfluenza virus).

Methods for detecting nucleic acids using multiple signals

Quest Diagnostics Investments Incorporated


The present invention provides a lossless coding scheme that maps unconstrained binary sequences into sequences that obey the (d,k)-RLL constraint while offering a degree of DC control. In the preferred embodiment, the channel encoder is a state machine which uses a single "overlapping" table for all states rather than using multiple tables. Recognizing that a subset of codewords in a first state x.sub.i are identical to a subset of codewords in the second state x.sub.j, the overlapping encoding table uses identical addresses for the subset of identical codewords in the first and second state. Thus addresses for more than one state may point to a single codeword. A number of input bytes can be encoded into two different codewords which have different parity of ones, thus allowing for DC control. Decoding is carried out in a state-independent manner.

This invention relates to a system for encoding binary data words into codewords that satisfy prescribed constraints for transmission and thereafter for decoding the codewords into the original binary data words. In particular, this invention relates to a system of encoding and decoding data which increases information density, minimizes the overall DC component of the transmitted digital code, and minimizes the memory required for the coding table.
In digital transmission systems and in magnetic and optical recording/playback systems, the information to be transmitted or to be recorded is presented as a bit stream sequence of ones and zeros. In optical and magnetic recording systems, the bit stream written into the device must satisfy certain constraints. A common family of constraints are the (d,k) runlength-limited (RLL) constraints, which specify that the run of zeros between consecutive ones in the bit stream must have a length of at least d and a length of no more than k for the prescribed parameters d and k. Currently, it is common for a compact disk to use a code with the constraint (d,k)=(2,10). An example of a sequence satisfying the (2,10) constraint is . . . 00010000000000100100000100. . . in which the first four runlengths are 3, 10, 2 and 5.
Magnetic recording standards include the (1,7)-RLL constraint and the (1,3)-RLL constraint.
The set of all sequences satisfying a given (d,k)-RLL constraint can be described by reading the labels off of paths in the labeled directed graph as shown in FIG. 1. The parameter k is imposed to guarantee sufficient sign changes in the recorded waveform which are required for clock synchronization during read-back. The parameter d is required to prevent inter-symbol interference.
Another type of constraint requires controlling the low frequency or DC constant of the input data stream. The DC control is used in optical recording to avoid problems such as interference with the servo system and to allow filtering of noise resulting from finger-prints. Information channels are not normally responsive to direct current and any DC component of the transmitted or recorded signal is likely to be lost. Thus, the DC component of the sequence of symbols should be kept as close to zero as possible, preferably at zero. This can be achieved by requiring the existence of a positive integer B such that any recorded sequence w.sub.1 w.sub.2 . . . w.sub.l now regarded over the symbol alphabet {+1,-1} will satisfy the inequality ##EQU1## for every 1.ltoreq.I.ltoreq.j.ltoreq.l. Sequences that obey these conditions are said to satisfy the B-charge constraint. The larger the value of B, the less reduction there will be in the DC component.
However, in certain applications, the charge constraint can be relaxed, thus allowing higher coding rates. In such applications, the DC control may be achieved by using a coding scheme that allows a certain percentage of symbols (on the average) to reverse the polarity of subsequent symbols. Alternatively, DC control may be achieved by allowing a certain percentage of symbols on average to have alternate codewords with a DC component which is lower or of opposite polarity.
DC control and (d,k)-RLL constraints can be combined. In such schemes, the constraint of binary sequences z.sub.1 z.sub.2 z.sub.3 . . . z.sub.l that satisfy the (d,k)-RLL constraint, such that the respective NRZI sequences EQU (-1).sup.z1 (-1).sup.z1+z2 (-1).sup.z1+z2+z3 . . .
have a controlled DC component.
Referring to FIG. 2 shows a functional block diagram of a conventional encoding/decoding system 200. In a typical example of audio data recorded onto a CD, analog audio data from the left and right speakers 202a, 202b of a stereo system are converted into 8 bit signal which is input into a data scrambler and error correction code generator whose output 210 is transmitted into an encoder 212 comprised of a channel encoder 214 and a parallel-to-serial converter 216. The serial data 220 is written to a compact disk 222. A similar process is used to decode data from the CD. Data 224 from the CD is input into a decoder 230 comprised of a serial to parallel converter 230 and a channel decoder 232. Data from the CD is decoded, input into an error corrector and descrambler 238 and output as audio data 240.
The encoder 212 is a uniquely-decodable (or lossless) mapping of an unconstrained data stream into a constrained sequence. The current standard for encoding compact disk data is eight-to-fourteen modulation (EFM). Using EFM encoding, blocks of 8 data bits are translated into blocks of 14 data bits, known as channel bits. EFM uses a lookup table which assigns an unambiguous codeword having a length of 14 bits to each 8-bit data word. By choosing the right 14-bit words, bit patterns that satisfy the (2,10) constraint, high data density can be achieved. Three additional bits called merge bits are inserted between the 14 bit codewords. These three bits are selected to ensure the (2,10) constraint is maintained and also to control the low frequency or DC content of the bit stream. The addition of these three merge bits makes the effective rate of this coding scheme 8:17 (not 8:14).
Demands for higher data density are increasing with the advent of multimedia, graphics-intensive computer applications and high-quality digital video programming. A proposal described in the article "EFMPlus: The Coding Format of the MultiMedia Compact Disc", Proc. 16th Symp. on Inform. Theory in the Benelux, Nieuwerkerk a/d Yssel, May 18-19, 1995, describes an encoding/decoding system which increases data density compared to EFM coding. In the system proposed in the EFMPlus article, both the encoder and decoder for constrained data take the form of a finite-state machine. A rate p:q finite-state encoder accepts an input block of p-bits and generates a q-bit codeword depending on the input block and the current state of the encoder. The sequences obtained by concatenating the generated q-bit codewords satisfy the constraint. In optical storage devices, the p-bit input block is typically taken to be an 8 bit byte so that it matches the unit size used in the error-correction scheme.
The proposed EFMPlus scheme is a rate 8:16 finite state encoder for the (2,10)-RLL constraint which increases its data density compared to the EFM scheme. The encoder is however a more complex four state encoder with each state requiring 256+88 sixteen bit codewords. (The 88 codewords are alternate codewords which are used to control the DC content.)
A method and apparatus of encoding and decoding binary data which increases information density, minimizes the overall DC component of the transmitted digital code, and minimizes the memory required for the encoding and decoding tables is needed.

Method and apparatus for generating runlength-limited coding with DC control